Avatar billede madsens90 Praktikant
21. august 2007 - 22:37 Der er 11 kommentarer og
1 løsning

Hvordan for jeg den til at hente mere end en række fra MySQL?

Hej. Jeg har været ved at prøve at lave en gæstebog, men har et problem fordi at den kun viser en enkelt række fra min MySQL.

Eksempel ses nederst på siden her: http://madsens.hotserv.dk/brugerprofil.php?user=Madsens

Dette er koden som jeg håber nogen kan se fejlen i:

<?
$id = $req_user_info['username'];
mysql_connect("db01","8579","159357") or die(mysql_error());
  mysql_select_db("8579") or die(mysql_error());
  $query = mysql_query("SELECT * FROM db WHERE id = '$id' LIMIT 1") or die(mysql_error());
  $row = @mysql_fetch_assoc($query);
  {

?>
<table>
<tr>
<td>
<b>Skrevet af:</b> <? echo "$row[skriver]"; ?><br>
<b>Besked:</b> <? echo "$row[besked]"; ?><br>
<b>Tid:</b> <? echo "$row[tid]"; ?>
</div>

</td>
</tr>
</table>
<hr>
<?
}
?>
Avatar billede madsens90 Praktikant
21. august 2007 - 22:40 #1
Hvis der ses nogle mærkelige ting i min kode, er det måske fordi at jeg har fået noget af det fra en anden, og har ikke slettet det jeg ikke vidste hvorfor var der, da jeg ikke var 100% sikker på hvad der ville ske. ;)
Avatar billede nemlig Professor
21. august 2007 - 22:48 #2
Denne linje:

$query = mysql_query("SELECT * FROM db WHERE id = '$id' LIMIT 1") or die(mysql_error());

henter de poster fra databaen "db" hvor feltet "id" har samme værdi som "$id".
Der er vel kun 1 post, der har værdien $id. Limit betyder også, at den kun skal hente 1 post.
Avatar billede nemlig Professor
21. august 2007 - 22:52 #3
Det er vel ikke din rigtige login oplysninger du viser i koden. Hvis ja, må du hellere få dem ændret.......
Avatar billede nemlig Professor
21. august 2007 - 22:55 #4
Hvordan har du bygget din database(r) op?. Det ser ud til, at du både har brugeroplysninger og indlæg i samme database. Her vil jeg anbefale 2 databaser:
Database 1 = Brugeroplysninger
Database 2 = Indlæg
Avatar billede madsens90 Praktikant
21. august 2007 - 22:55 #5
Nårh pyt skidt.. det er bare min database. ;)

Folk der gider bruge det til noget er idioter, og jeg gad ikke lige bruge tid på at ændre det. ;)

Problemet er at jeg VED der er mindst 2 med værdien $id ??
Så du har ikke et andet råd? :S
Avatar billede madsens90 Praktikant
21. august 2007 - 22:59 #6
Jeg har det i 2 tabeller hvis det er det du mener..

Kan ikke se hvorfor det skulle være nødvendigt med hele 2 forskellige db'er..
Avatar billede nemlig Professor
21. august 2007 - 23:02 #7
Sorry - Jeg mente 2 tabeller.
Hvis der er 2 med samme værdi, og du ønsker at trække begge 2 ud, må du ikke skrive "Limit 1", da det fortæller MySQL, at der kun skal afleveres 1 post.
Dertil mangler du en while-statement, så du kan få vist begge poster.
Avatar billede madsens90 Praktikant
21. august 2007 - 23:29 #8
Hvad er et shile-statement? :)

Tænkte nok det med limit 1, men det ændrede ikke noget da jeg fjernede det, og så tænkte jeg bare at det ikke var det?

Giv evt. et eksempel på hvordan mit while statement kunne se ud, så er du flink. :)
Hvis du vil have nogle point, så mangler jeg et "svar". ;)
Avatar billede madsens90 Praktikant
21. august 2007 - 23:42 #9
while-statement*
Avatar billede madsens90 Praktikant
21. august 2007 - 23:46 #10
Aaaaaaaah.. :D Fik det lavet. :)

Hvis du stikker mig et svar, så for du nogle point..
Tak for hjælpen. :) Søgte selv lidt rundt omkring while-statement her på eksperten.dk :)
Avatar billede nemlig Professor
21. august 2007 - 23:57 #11
Jeg forstår det sådan, at du er kørende, og at du ikke behøver et eksempel på "while" - ellers sig til.
Avatar billede madsens90 Praktikant
22. august 2007 - 00:13 #12
Yeps det er jeg. :)

Har andre problemer, men det kan jeg få hjælp til af en jeg kender..
Må hellere smutte i seng, så jeg kan stå op i morgen. ;) Ses. Tak for hjælpen. :)

\\Mvh. Madsens
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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