19. januar 2005 - 15:20Der er
8 kommentarer og 1 løsning
luk mysql forbindelse igen
Hejsa, hvordan lukker jeg nedensåtende mysql forbildelse, uden at lukke alle forbindelser på siden (har ca. 10 på en side)?
<?
$nyheder1 = mysql_query("SELECT * FROM woox_nyheder WHERE overskrift LIKE '%$soegeord%' OR nyhed LIKE '%$soegeord%' ORDER BY id DESC LIMIT 50") or die(mysql_error()); while ($nyheder = mysql_fetch_array($nyheder1)) {
$bruger1 = mysql_query("SELECT * FROM woox_brugere WHERE brugernavn = '$nyheder[bruger]'") or die(mysql_error());
$bruger = mysql_fetch_array($bruger1);
echo '<tr><td width="60%"><a href="main.php?side=kommentar&id='.$nyheder[id].'">'.$nyheder[overskrift].'</a></td><td width="20%">'.mysql_result(mysql_query("SELECT COUNT(*) FROM woox_kommentare WHERE id = '$nyheder[id]'"),0).'</td><td width="20%"><font color="'.$bruger[fontcolor].'">'.$nyheder[bruger].'</font></td></tr>'; } ?>
Og er det så muligt at udskrive med $nyheder[feltnavn] igen længere nede, uden at den henter fra en forkter tabel=?
Altså det der er ikke en forbindelse jo, det er et kald og hvis du kalder $nyheder[feltnavn] længere nede i while-løkken, så ville det stadig virke ja :)
Hvis det er sådan at du ikke sætter $nyheder[feltnavn] til noget andet, så kan du godt hente den ind senere. Men ellers kan du bare kalde den noget andet, for eksempel $nyhed_data[feltnavn] hvis det er sådan at du bruger $nyheder[feltnavn] længere nede
Ikke det jeg mener! længere nede skal forsåes som i en anden while.. men vil bar vide hvordan man lukker for den ene forbindelse?:
$nyheder1 = mysql_query("SELECT * FROM woox_nyheder WHERE overskrift LIKE '%$soegeord%' OR nyhed LIKE '%$soegeord%' ORDER BY id DESC LIMIT 50") or die(mysql_error());
et kald til funktionen mysql_query laver IKKE en forbindelse, det benytter en forbindelse der blev lavet tidligere med funktionen mysql_connect Den forbindelse skal så først lukkes igen efter dit sidste kald til mysql_query hbis du lukker den før går det galt (ligesom det ikke nytter at snakke videre efter du har lagt telefonen på)
Du opretter et array $nyheder i denne linie og kommer værdier i det. while ($nyheder = mysql_fetch_array($nyheder1)) { Det array vil bestå indtil du opretter det igen eller ændrer de værdier der er i det.
men hele ideen med den while løkke er jo at den slutter når $nyheder ikke har noget indhold, så $nyheder er ubrugelig efter while løkken er kørt færdig.
$query = mysql_query("SELECT * FROM woox_nyheder WHERE overskrift LIKE '%$soegeord%' OR nyhed LIKE '%$soegeord%' ORDER BY id DESC LIMIT 50") or die(mysql_error()); while ($row = mysql_fetch_array($query)) { echo "$row[nyhed]";
}
Også længere nede på siden laver sådan her:
$query = mysql_query("SELECT * FROM woox_brugere") or die(mysql_error()); while ($row = mysql_fetch_array($query)) { echo "$row[bruger]";
}
Det kan man jo ikke, men kan man på en måde få lukket så den ikke prøver at hente fra den første $row og den første $query?
får stadig fejl :( Nå så giver jeg dem bare forskellige navne!
Synes godt om
Ny brugerNybegynder
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.