Avatar billede nigo_ Nybegynder
22. april 2008 - 16:18 Der er 4 kommentarer

Problemer med søge function, returnere kun første række

Hej,

Har lidt problemer med en søge function, den returnere kun første række/varer af resultatet:

function LoadFindRes()
{
if(isset($_POST['seekIt'])) {

$sql = "SELECT * FROM wares WHERE name LIKE '%".mysql_escape_string($_POST['seek'])."%' ORDER BY name";
$query = mysql_query($sql);

if(mysql_num_rows($query) > 0) {
  while ($r = mysql_fetch_array($query)) {
 
$html = '
<table id="catalogtable">
    <tr><td>Navn</td><td>Link</td></tr>
    <tr>
      <td>
      '.$r["Name"].'
      </td>
      <td>
      <a href="index.php?page=varer&type=single&varer='.$r['ID'].'">Se varen her</a>
      </td>
    </tr>
    </table>';
    }
    return $html;
   
    }
    }
}


Nogen der kan se hvad problemet er?
Avatar billede Slettet bruger
22. april 2008 - 17:25 #1
Den udskriver vel kun den sidste række?
Problemet er at du sætter outputtet i variablen $html. Men det bliver overskrevet hver gang den laver et udtræk.

Blot erstat "$html = '" med "$html .= '" uden gåseøjn :-)
Avatar billede nigo_ Nybegynder
22. april 2008 - 17:35 #2
Det hjalp, MEN

Navn Link
Baggy bukser  Se varen her 
Navn Link
Bukser  Se varen her 

Den skriver ny Navn og Link til hver resultat. Skulle gerne ha den til at :

Navn  Link
Bukser Se varen her
Bukser Se varen her
Bukser Se varen her

Det er fordi vores tidligere søg var :

echo "<table width=\"100%\">";
  echo "<tr><td>Navn</td><td>Link</td></tr>";
  if(mysql_num_rows($query) > 0) {
  while ($r = mysql_fetch_array($query)) {
    echo "<tr><td>".$r['Name']."</td><td><a href=\"index.php?page=varer&type=single&varer=".$r['ID']."\">Se varen her</a></td></tr>";
  }
} else {
    echo "<tr><td colspan=\"2\">Din søgning gav ingen resultat.</td></tr>";
}
  echo "</table>";
}

  else {
  echo "Du mangler et søgeord!";

Men den kan jeg ikke bruge, da jeg ikke kan target vores hoved div.

Hvad skal jeg rette?
Avatar billede nigo_ Nybegynder
22. april 2008 - 21:36 #3
Anyone der hurtig kan hjælpe??

vh.w
Avatar billede fant0mas Nybegynder
23. april 2008 - 12:05 #4
function LoadFindRes()
{
if(isset($_POST['seekIt'])) {

$sql = "SELECT * FROM wares WHERE name LIKE '%".mysql_escape_string($_POST['seek'])."%' ORDER BY name";
$query = mysql_query($sql);

if(mysql_num_rows($query) > 0) {
$html = '<table id="catalogtable"><tr><td>Navn</td><td>Link</td></tr>';   
while ($r = mysql_fetch_array($query)) {
$html .= '<tr><td>'.$r["Name"].'</td><td><a href="index.php?page=varer&type=single&varer='.$r['ID'].'">Se varen her</a></td></tr>';
}
$html .= '</table>';
return $html;
}
}
}
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