Avatar billede udvikler Nybegynder
30. august 2005 - 19:26 Der er 20 kommentarer og
1 løsning

Hive alle beskeder ud af database ?

Her kommer lige et lidt nemt spørgsmål. Jeg har lavet en gæstebog sådan hurtigt. Men hvordan hiver jeg alle beskederne ud af database ?
Avatar billede arne_v Ekspert
30. august 2005 - 19:43 #1
du laver en passende SELECT statement

uden WHERE betingelse tager den alt
Avatar billede udvikler Nybegynder
30. august 2005 - 19:46 #2
Hmm.. jamen har prøvet.. dette virkede ikke:

mysql_error("SELECT * from gbog (besked, overskift, navn)") or die(mysql_error());
Avatar billede arne_v Ekspert
30. august 2005 - 19:48 #3
mener du:

mysql_error("SELECT besked, overskift, navn from gbog") or die(mysql_error());

?
Avatar billede udvikler Nybegynder
30. august 2005 - 19:54 #4
Nope, for så siger den:
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /web/www/frac/users/hmm/index.php on line 28

Har også prøvet at indsætte ( og ) mellem besked, overskrift, navn
Det kan nemmelige ikke bare indsættes sådan arne ;)
Avatar billede arne_v Ekspert
30. august 2005 - 19:57 #5
$result = mysql_query("SELECT besked, overskift, navn from gbog") or die(mysql_error());

må det være ...

Har du åbnet connection ?
Avatar billede udvikler Nybegynder
30. august 2005 - 20:02 #6
Ja det har jeg, men det kan ikke være fejlen. Så ville den sige at jeg manglede en connection! :)

Men det der kan jeg se lige fra starten af at det ikke vil virke.. ;)
Hvor skal jeg så brige variablen ? :S Du har oprettet en variabel men åbner den ikk.. hehe :)

Mangler vist også noget mysql_fecth så vidt jeg ved.. men hvordan er det nu.. argh.. det virker bare ikke! :(
Avatar billede jaw Nybegynder
30. august 2005 - 23:07 #7
Mener du ikke:

mysql_query("SELECT besked, overskrift, navn FROM gbog") or die(mysql_error());

mysql_error() er kun en funktion der returnerer en evt. fejlmeddelelse fra mysql-serveren. Den kan ikke bruges til at hive data ud med.
Avatar billede jaw Nybegynder
30. august 2005 - 23:09 #8
Og for at få hele løkken med, kan det f.eks. se således ud:

$q = mysql_query("SELECT besked, overskrift, navn FROM gbog") or die(mysql_error());
while($row = mysql_fetch_array($q)) {
  echo "Skrevet af: ". $row['navn'] . " - " . $row['overskrift'] . "<br />";
  echo nl2br($row['besked'])."<br /">;
}
Avatar billede micmicmicmic Nybegynder
31. august 2005 - 13:42 #9
$res = mysql_query("SELECT * FROM gbog order by id desc");
while ($row = mysql_fetch_array($res)){
echo $row[besked;
}

først vælger den alle ting inde fra forummet (select *), dernæst (order) sorterer den dem efter id, alså det nummer den nu får hvis du bruger det og så sætter jeg den til at sortere omvendt ved at bruge desc. desc gør bare at de nyste beskeder, dem med højest id, kommer til at stå øverst så du altid får den nyeste besked øverst, du kan bare fjerne det hvis du ikke ønsker denne funktion.

hvis ikke du har id må du lige sige til, guider dig gerne igennem den korte process :)
Avatar billede micmicmicmic Nybegynder
31. august 2005 - 13:46 #10
$res = mysql_query("SELECT * FROM gbog order by id desc");
while ($row = mysql_fetch_array($res)){

echo "$row[overskrift] <br> nl2br($row['besked']) <br> af $row[navn]";

}

dogenskabevn længe leve :)
Avatar billede jaw Nybegynder
31. august 2005 - 14:29 #11
Det er rigtig nok, at din forespørgsel vil hente alt - altså din SELECT *.

Dog er din syntax i udskriften ikke korrekt. Du skal have ' eller " om dine index'er i dine arrays, samt at funktionen nl2br() ikke vil fungere inde i en echo som du bruger den...
Mere korrekt vil være:
echo $row['overskrift'] ."<br>". nl2br($row['besked']) ."<br> af ".$row['navn'];
Avatar billede micmicmicmic Nybegynder
31. august 2005 - 14:33 #12
lille detalje ;) dog virker mit scirpt rent faktisk på min egen sidde korrekt, men kan godt se at din er mere ret og komfortable for php :)
Avatar billede jaw Nybegynder
31. august 2005 - 14:36 #13
Så har du noget snusk slået til - eller fra :)

En lille test, som du kan prøve:
$test = "ajaja";
echo "Test: nl2br($test) hshs";

Den vil hos mig returnere: Test: nl2br(ajaja) hshs
Avatar billede udvikler Nybegynder
31. august 2005 - 22:15 #14
Det virkede ikke.. min funktion til at hive alle beskeder ud af min database ser således ud:

$res = mysql_query("SELECT * (besked) FROM gbog");
while ($row = mysql_fetch_array($res)){
print "$row[besked]";
}

Fejlen er:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/hmm/index.php on line 27

Forresten er det ikke en fejl at jeg kun skal udskrive besked.. det er den eneste række jeg har i gæstebogen !.. behøver ikke flere.. har fået det til at virke engang.. men det "gik i stykker".. :(
Avatar billede jaw Nybegynder
31. august 2005 - 22:20 #15
Prøv lige:
$res = mysql_query("SELECT * (besked) FROM gbog") or die(mysql_error());

Men hvad sker der for (besked) ? Er det noget du har indsat til ære for os? Ellers skal du ud i:
$res = mysql_query("SELECT * FROM gbog") or die(mysql_error());
$res = mysql_query("SELECT besked FROM gbog") or die(mysql_error());
Avatar billede udvikler Nybegynder
31. august 2005 - 22:40 #16
Jamen (besked) er jo det felt som skal printes ud.. kan jeg ikke få den i en hel køre.. for den siger at det ikke er en valid mysql kode..
Avatar billede jaw Nybegynder
31. august 2005 - 22:42 #17
Det er det, som jeg lige sagde, heller ikke.

Det du mener er:
$res = mysql_query("SELECT besked FROM gbog");
while ($row = mysql_fetch_array($res)){
print $row['besked'];
}

Prøv det lige !
Avatar billede udvikler Nybegynder
31. august 2005 - 22:45 #18
Det virker fint tak !

Men kan du ikke lige gøre sådan så der kommer et mellemrum <br> imellem hver besked der bliver printet ud.. ?

Læg et svar
Avatar billede jaw Nybegynder
31. august 2005 - 22:48 #19
Værsgo' !

$res = mysql_query("SELECT besked FROM gbog");
while ($row = mysql_fetch_array($res)){
print $row['besked'] . "<br />";
}
Avatar billede udvikler Nybegynder
31. august 2005 - 22:50 #20
Sådan mand.. :D

Det hele virker nu.. det må jeg sige tak for hjælpen ;)
Avatar billede jaw Nybegynder
31. august 2005 - 22:56 #21
Selv tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester