24. august 2004 - 20:18Der er
7 kommentarer og 1 løsning
Springer post over
Hej Eksperter.
Min kode ser ud til, at springe en eller flere poster over. Er der nogen fejl i min opstilling nedenfor ?
if ($subject && $search_string) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `subject` = '$subject' AND (`headline` LIKE '%$search_string%' OR `description` LIKE '%$search_string%')") or die(mysql_error()); $output1 = mysql_fetch_array($query1); } elseif ($subject) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `subject` = '$subject'") or die(mysql_error()); $output1 = mysql_fetch_array($query1); } elseif ($search_string) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `headline` LIKE '%$search_string%' OR `description` LIKE '%$search_string%'") or die(mysql_error()); $output1 = mysql_fetch_array($query1); } else { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files") or die(mysql_error()); $output1 = mysql_fetch_array($query1); }
// Udskriver en liste med opgaver under det aktuelle fag foreach ($subject_array as $subject_output) {
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du henter første række i dine ifs.. Og så næste række i din while() så du får aldrig rigtig vist den første række.. prøv:
if ($subject && $search_string) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `subject` = '$subject' AND (`headline` LIKE '%$search_string%' OR `description` LIKE '%$search_string%')") or die(mysql_error()); } elseif ($subject) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `subject` = '$subject'") or die(mysql_error()); } elseif ($search_string) { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files WHERE `headline` LIKE '%$search_string%' OR `description` LIKE '%$search_string%'") or die(mysql_error()); } else { $query1 = mysql_query("SELECT `id`, `headline`, `description` FROM files") or die(mysql_error()); }
// Udskriver en liste med opgaver under det aktuelle fag foreach ($subject_array as $subject_output) { $i = 0;
Ok, men drop den første mysql_fetch_array, og erstat evt din if med
if (mysql_num_rows($query1)>0) {
selv om det ikke gør nogen forskel i dit tilfælde.
Men den foreach kan du ikke mene. Det betyder bare at de samme poster forsøges udskrivet igen og igen, li'så mange gang som der er indgang i $subject_array. Men de kommer kun en gang, da whileløkken bliver færdig første gang. Ik'? ;)
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.