Avatar billede proff Nybegynder
16. maj 2004 - 13:27 Der er 5 kommentarer og
1 løsning

Hent alle med en while?

Hej! Jeg er ikke lige frem g33k til php, så mit spg. er nok meget let for nogle af jer ;)


But here we go..


if($action=="tingliste") {
$select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username'");
while($row_itemlist = mysql_fetch_array($select_itemlist)){

print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0>$row_itemlist[navn]</td></tr></table>';</script>";

}
}


Mit store problem er at den KUN henter den ting med det højeste id og som tilhører brugeren. Den skal hente alle ting navne hvor "owner = $username" Men den henter kun den ting der har højst id (og som tilhører brugeren) Den skal hente alle.. hvordan gør jeg det? :)
Avatar billede keldsen Nybegynder
16. maj 2004 - 14:39 #1
Så vidt jeg kan se overskriver du teksten hver gang du henter en ny post, så derfor vil det kun være den sidste post i søgningen der vises. Jeg er ikke helt hjemme i det der script-stads, men prøv at skrive:

print "<script>parent.document.getElementById('boxtekst').innerHTML += ....

istedet for:

print "<script>parent.document.getElementById('boxtekst').innerHTML = ....

En anden mulighed er:

if($action=="tingliste")
{
  $select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username'");
  $tmp = "";
  while($row_itemlist = mysql_fetch_array($select_itemlist))
  {
    $tmp .= $row[navn]."<br>";
  }
print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0>$tmp</td></tr></table>';</script>";
}

A.
Avatar billede proff Nybegynder
16. maj 2004 - 15:21 #2
if($action=="tingliste") {
$select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username'");
$tmp = "";
while($row_itemlist = mysql_fetch_array($select_itemlist))
{
$tmp .= $row[navn]."<br>";
}
print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0>$tmp</td></tr></table>';</script>";
}





Her printer den overhovedet IGEN tekst. Men den melder heller ikke om fejl i koden
- Hvad kan det være??
Avatar billede proff Nybegynder
16. maj 2004 - 15:24 #3
Har ændret lidt i koden og fået den til at printe:


if($action=="tingliste") {
$select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username'");
$tmp = "";
while($row_itemlist = mysql_fetch_array($select_itemlist))
{
$tmp = $row_itemlist[navn]."<br>";
}
print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0>$tmp</td></tr></table>';</script>";
}


MEN! Den printer stadig kun den nyeste ;(
Avatar billede keldsen Nybegynder
16. maj 2004 - 15:25 #4
Hmm, prøv med denne linie istedet:

print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0><tr><td>".$tmp."</td></tr></table>';</script>";
Avatar billede keldsen Nybegynder
16. maj 2004 - 15:45 #5
tror vi fik postet oven i hinanden der.

Du skal have
$tmp .= $row_itemlist[navn]."<br>";
med punktum foran =

Du kan evt. prøve
$tmp = $tmp.$row_itemlist[navn]."<br>";
istedet, men det burde være det samme.

hvis det stadig ikke virker, så prøv at post koden for hele siden (husk at fjerne password til databasen osv.) :)

A.
Avatar billede proff Nybegynder
16. maj 2004 - 16:24 #6
Det virker søremene ;)
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