26. maj 2008 - 22:17
Der er
9 kommentarer og 1 løsning
Hjælp til enkel kode
Hej eksperter. kan denne kode: <? if ($id == "") { $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = 1 AND medrang = 1 ORDER BY id ASC"); } else { $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = $id AND medrang = 1 ORDER BY id ASC"); } if ($id == "") { $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = 1 AND medrang = 1"),0); } else { $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = $id AND medrang = 1"),0); } if (mysql_num_rows($sql_oeko_tjek)==0) { echo ""; } else { echo "<tr> <td colspan=\"3\"> </td> </tr> <tr> <td height=\"19\" bgcolor=\"#D1DD10\" class=\"main_txt\"><div align=\"right\" class=\"top_oversk\">Økonomiafdeling </div></td> </tr> <tr> <td valign=\"top\" bgcolor=\"#E3E3E3\" class=\"main_txt\" align=\"center\">"; require "db.php"; if ($antal_oeko_tjek > 2) { $cols = "3"; $i = 0; $a = 0; print "<table cellspacing=\"8\" class=\"email\" width=\"100%\" align=\"center\"><tr>"; while($row = mysql_fetch_array($sql_oeko_tjek)) { if ($num == $a) { $rest = $cols-$i; $navn = $row['navn']; $email = $row['email']; $stilling = $row['stilling']; $tlfnr = $row['tlfnr']; $upfile = $row['upfile']; echo "<td colspan=\"2\" width=\"33%\" align=\"center\">"; ?> <?php if (!empty($row['upfile'])) { echo "<img src=\"$upfile\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b>$navn</b><br>$stilling<br /><a href=\"mailto:$email\">$email</a><br>$tlfnr"; } else { echo "<img src=\"images/intet_pic.gif\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b> $navn</b><br> $stilling<br><a href=\"mailto:$email\"> $email</a><br>$tlfnr"; } echo"</td>"; } else { echo"<td colspan=\"2\" width=\"33%\" align=\"center\">"; ?> <?php if (!empty($row['upfile'])) { echo "<img src=\"$upfile\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b>$navn</b><br>$stilling<br /><a href=\"mailto:$email\">$email</a><br>$tlfnr"; } else { echo "<img src=\"images/intet_pic.gif\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b> $navn</b><br> $stilling<br><a href=\"mailto:$email\"> $email</a><br>$tlfnr"; } echo"</td>"; $a++; } $i++; if ($i == $cols) { echo "</tr><tr>"; $i = 0; } } print "<td colspan=\"$cols\"> </td>\n</tr>\n</table>\n"; } else { $cols = "2"; $i = 0; $a = 0; print "<table cellspacing=\"12\" width=\"100%\" class=\"email\" align=\"center\"><tr>"; while($row = mysql_fetch_array($sql)) { if ($num == $a) { $rest = $cols-$i; $navn = $row['navn']; $email = $row['email']; $stilling = $row['stilling']; $tlfnr = $row['tlfnr']; $upfile = $row['upfile']; echo "<td colspan=\"2\" width=\"50%\" align=\"center\">"; ?> <?php if (!empty($row['upfile'])) { echo "<img src=\"$upfile\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b>$navn</b><br>$stilling<br /><a href=\"mailto:$email\">$email</a><br>$tlfnr"; } else { echo "<img src=\"images/intet_pic.gif\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b> $navn</b><br> $stilling<br><a href=\"mailto:$email\"> $email</a><br>$tlfnr"; } echo"</td>"; } else { echo"<td colspan=\"2\" width=\"50%\" align=\"center\">"; ?> <?php if (!empty($row['upfile'])) { echo "<img src=\"$upfile\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b>$navn</b><br>$stilling<br /><a href=\"mailto:$email\">$email</a><br>$tlfnr"; } else { echo "<img src=\"images/intet_pic.gif\" width=\"88\" height=\"104\" class=\"border_pic\"><br><b> $navn</b><br> $stilling<br><a href=\"mailto:$email\"> $email</a><br>$tlfnr"; } echo"</td>"; $a++; } $i++; if ($i == $cols) { echo "</tr><tr>"; $i = 0; } } print "<td colspan=\"$cols\"> </td>\n</tr>\n</table>\n"; } echo"</td> </tr>"; } ?> gøres mindre på nogen måde??
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Måske det kunne laves på denne måde: <? //Forbinder til DB require "db.php"; function printData($input){ $output = '<td colspan="2" width="33%" align="center">'; if(!empty($input['upfile'])){ $output .= '<img src="'.$input['upfile'].'" width="88" height="104" class="border_pic">'; }else{ $output .= '<img src="images/intet_pic.gif" width="88" height="104" class="border_pic">'; } $output .= '<br><b>'.$input['navn'].'</b><br>'.$input['stilling'].'<br />': $output .= '<a href="mailto:'.$input['email'].'">'.$input['email'].'</a><br>'.$input['tlfnr'].'</td>'; return $output; } //Jeg antager $id kommer fra $_GET['id'] eller $_POST['id'] if(isset($id) && is_numeric($id)){ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = '".intval($id)."' AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = '".intval($id)."' AND medrang = 1"),0); }else{ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = 1 AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = 1 AND medrang = 1"),0); } if(mysql_num_rows($sql_oeko_tjek)>0){ echo "<tr><td colspan=\"3\"> </td></tr><tr><td height=\"19\" bgcolor=\"#D1DD10\" class=\"main_txt\"><div align=\"right\" class=\"top_oversk\">Økonomiafdeling </div></td></tr><tr><td valign=\"top\" bgcolor=\"#E3E3E3\" class=\"main_txt\" align=\"center\">"; if ($antal_oeko_tjek > 2) { $cols = "3"; $i = 0; $a = 0; echo '<table cellspacing="8" class="email" width="100%" align="center"><tr>'; while($row = mysql_fetch_array($sql_oeko_tjek)){ if ($num == $a) { $rest = $cols-$i; echo printData($row); }else{ echo printData($row); $a++; } $i++; if ($i == $cols){ echo '</tr><tr>'; $i = 0; } } echo '<td colspan="'.$cols.'"> </td></tr></table>'; } else { $cols = "2"; $i = 0; $a = 0; echo '<table cellspacing="12" width="100%" class="email" align="center"><tr>'; while($row = mysql_fetch_array($sql)) { if ($num == $a) { $rest = $cols-$i; echo printData($row); } else { echo printData($row); $a++; } $i++; if ($i == $cols) { echo '</tr><tr>'; $i = 0; } } echo '<td colspan="'.$cols.'"> </td></tr></table>'; } echo '</td></tr>'; } ?>
ah ja det gjorde den en del mere overskuelig. koden står 6 gange på siden fordi den laver 6 connects ;(
Lige en lille rettelse til jakobdo's kode: //Jeg antager $id kommer fra $_GET['id'] eller $_POST['id'] if(isset($id) && is_numeric($id)){ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = '".intval($id)."' AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_num_rows($sql_oeko_tjek); }else{ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = 1 AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_num_rows($sql_oeko_tjek); } Der er jo ingen grundt til at lave den samme query to gange lige efter hinanden.
dkfire: Så meget havde jeg ikke set koden igennem. :o) Men jeg mener faktisk at SELECT COUNT(id) er hurtigere end at bruge mysql_num_rows() Så brugeren burde lave noget tidstagning på det og tage den løsning som er bedst og hurtigst.
ja det skal nemlig være den form for kode som bliver kørt hurtigst igennem som skal bruges for som sagt så skal koden stå der 6 gange på samme side :) så for at være sikker på brugeren ikke venter 100 år siden kommer frem heh.
Her har jeg forenklet din kode endnu mere: <? //Forbinder til DB require "db.php"; function printData($input){ $output = '<td colspan="2" width="33%" align="center">'; if(!empty($input['upfile'])){ $output .= '<img src="'.$input['upfile'].'" width="88" height="104" class="border_pic">'; }else{ $output .= '<img src="images/intet_pic.gif" width="88" height="104" class="border_pic">'; } $output .= '<br><b>'.$input['navn'].'</b><br>'.$input['stilling'].'<br />': $output .= '<a href="mailto:'.$input['email'].'">'.$input['email'].'</a><br>'.$input['tlfnr'].'</td>'; return $output; } //Jeg antager $id kommer fra $_GET['id'] eller $_POST['id'] if(isset($id) && is_numeric($id)){ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = '".intval($id)."' AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = '".intval($id)."' AND medrang = 1"),0); }else{ $sql_oeko_tjek = mysql_query("SELECT * FROM ansatte WHERE ansat_by = 1 AND medrang = 1 ORDER BY id ASC"); $antal_oeko_tjek = mysql_result(mysql_query("SELECT COUNT(*) FROM ansatte WHERE ansat_by = 1 AND medrang = 1"),0); } if(mysql_num_rows($sql_oeko_tjek)>0){ echo "<tr><td colspan=\"3\"> </td></tr><tr><td height=\"19\" bgcolor=\"#D1DD10\" class=\"main_txt\"><div align=\"right\" class=\"top_oversk\">Økonomiafdeling </div></td></tr><tr><td valign=\"top\" bgcolor=\"#E3E3E3\" class=\"main_txt\" align=\"center\">"; if ($antal_oeko_tjek > 2) { $cols = "3"; $i = 0; $a = 0; echo '<table cellspacing="8" class="email" width="100%" align="center"><tr>'; while($row = mysql_fetch_array($sql_oeko_tjek)){ if ($num == $a) { $rest = $cols-$i; }else{ $a++; } echo printData($row); $i++; if ($i == $cols){ echo '</tr><tr>'; $i = 0; } } echo '<td colspan="'.$cols.'"> </td></tr></table>'; } else { $cols = "2"; $i = 0; $a = 0; echo '<table cellspacing="12" width="100%" class="email" align="center"><tr>'; while($row = mysql_fetch_array($sql)) { if ($num == $a) { $rest = $cols-$i; }else{ $a++; } $i++; echo printData($row); if ($i == $cols) { echo '</tr><tr>'; $i = 0; } } echo '<td colspan="'.$cols.'"> </td></tr></table>'; } echo '</td></tr>'; } ?>
det er perfekt. mange tak for hjælpen. smid et svar :)
endnu engang tak. -lukket-
Vi tilbyder markedets bedste kurser inden for webudvikling