11. august 2005 - 15:35
Der er
30 kommentarer og 1 løsning
php og array og 3 gange <td>
Jeg har lidt problemmer med at få det her til at fungere. Jeg vil gerne have 3 gange <td></td> efter fulgt af </tr><tr> så mange gange som der er row´s i tabellen. <table cellpadding=\"0\" cellspacing=\"0\"><tr> <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select * from kat"); $product1 = mysql_query("select Katname from kat"); $katcount = mysql_num_rows($product1); $katArray = array(); while($row = mysql_fetch_assoc($product)) { $katArray[] = $row[Katname]; echo"<tr><td>$katArray[$Arrayid]</td><td>$katArray[$Arrayid]</td><td>$katArray[$Arrayid]</td></tr>";$Arrayid++; } ?> </tr></table> MC
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?
11. august 2005 - 15:47
#1
Jeg har selv haft success med denne kode: $kolonner = 3; $antalImages = count($fileArray); if($antalImages > 0) { krsort($fileArray); echo "<table id=\"centerTable\">\n"; echo "<tr>\n"; $i = 0; foreach($fileArray as $time => $file) { if(!($i%$kolonner) && $i>0 && $i < $antalImages) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td><a target=\"_blank\" href=\"show.php?src=".preg_replace('/^thumb_/', 'original_', $file)."\"><img src=\"upload/".$file."\" title=\"Billedet er uploadet: ".strftime("%e. %B %Y - %T",$time)."\" alt=\"".basename($file)."\"></td>\n"; $i++; } for($i=0; $antalImages % $kolonner && $i<$kolonner-($antalImages % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; }
11. august 2005 - 15:51
#2
ok, din kode hjælper mig overhovedet ikke, men derimod så jeg ordet " Foreach " som jeg lige nærlæser ´lidt MC - Jeg vender baglæns med svar
11. august 2005 - 15:54
#3
Koden skulle ellers være god nok. Test lige: <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select * from kat"); $product1 = mysql_query("select Katname from kat"); $katcount = mysql_num_rows($product1); $katArray = array(); while($row = mysql_fetch_assoc($product)) { $katArray[] = $row[Katname]; } $kolonner = 3; $antalImages = count($fileArray); if($antalImages > 0) { krsort($fileArray); echo "<table cellpadding=\"0\" cellspacing=\"0\"><tr>\n"; echo "<tr>\n"; $i = 0; foreach($fileArray as $time => $file) { if(!($i%$kolonner) && $i>0 && $i < $antalImages) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td><a target=\"_blank\" href=\"show.php?src=".preg_replace('/^thumb_/', 'original_', $file)."\"><img src=\"upload/".$file."\" title=\"Billedet er uploadet: ".strftime("%e. %B %Y - %T",$time)."\" alt=\"".basename($file)."\"></td>\n"; $i++; } for($i=0; $antalImages % $kolonner && $i<$kolonner-($antalImages % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; } ?>
11. august 2005 - 15:56
#4
Hov for fanden... For meget copy/paste Prøv denne: <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select * from kat"); $product1 = mysql_query("select Katname from kat"); $katcount = mysql_num_rows($product1); $katArray = array(); while($row = mysql_fetch_assoc($product)) { $katArray[] = $row[Katname]; } $kolonner = 3; $antalKat = count($katArray); if($antalKat > 0) { echo "<table cellpadding=\"0\" cellspacing=\"0\"><tr>\n"; echo "<tr>\n"; $i = 0; foreach($katArray as $kat) { if(!($i%$kolonner) && $i>0 && $i < $antalKat) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td>".$kat."</td>\n"; $i++; } for($i=0; $antalKat % $kolonner && $i<$kolonner-($antalKat % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; } ?>
12. august 2005 - 08:49
#5
Jamen det virker jo perfekt, eneste lille ting der irretere mig er at jeg ikke helt ved hvad der sker, men det må jeg jo lige nærstudere. Svare du lige MC
12. august 2005 - 08:52
#6
Svar...
12. august 2005 - 09:23
#7
Kan du hjælpe mig med at ligge et <a href ind ??? sådanne at hver <td></td> præsenteres som et link. ??? linket skal se sådanne ud. <a href="$Host?Site=10&katid=$katid">.$kat.</a> Jeg har ikke Katid i arrayet tabellen indeholder Katname og Id dvs arrrayet skal hente dem begge, og plasere dem som ovenstående a href MC
12. august 2005 - 09:24
#8
Eller bare fortælle mig hvordan jeg for fat i Id´en i databasen MC
12. august 2005 - 09:46
#9
Test denne: <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select Katid, Katname from kat"); $katcount = mysql_num_rows($product); $katArray = array(); while($row = mysql_fetch_assoc($product)) { $katArray[$row['Katid']] = $row['Katname']; } $kolonner = 3; $antalKat = count($katArray); if($antalKat > 0) { echo "<table cellpadding=\"0\" cellspacing=\"0\"><tr>\n"; echo "<tr>\n"; $i = 0; foreach($katArray as $id => $kat) { if(!($i%$kolonner) && $i>0 && $i < $antalKat) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td><a href=\"?Site=10&katid=".$id.">".$kat."</a></td>\n"; $i++; } for($i=0; $antalKat % $kolonner && $i<$kolonner-($antalKat % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; } ?>
12. august 2005 - 09:54
#10
Jeg ved godt man selv skal lære osv osv men jeg kan ærligt talt ikke se hovede eller hale i ovenstående kode, men det ser ud som om at den ikke for afsluttet en tabel, eller måske i Ahref= da den smadre den tabel som ovensteådne kode ligger i MC
12. august 2005 - 10:36
#11
Kan jeg se output nogen steder?
12. august 2005 - 10:37
#12
12. august 2005 - 10:38
#13
Skriv når du har set den så ændre jeg den lige så du kan se hvordan den skal se ud MC
12. august 2005 - 10:40
#14
2 sek prøver lige selv at ændre noget MC
12. august 2005 - 10:43
#15
Sådanne der nu køre det. Takker endnu en gang MC
12. august 2005 - 10:46
#16
Sejt...
15. august 2005 - 13:21
#17
må jeg lige smide en side bemærkning som jeg har opdaget. Min Id i linket i a href starter ved 0 hvordan kan jeg få den til at tildele det første link værdien 1 og så opefter MC
15. august 2005 - 13:27
#18
Det skal du rette i din DB. (skulle jeg mene)
15. august 2005 - 13:31
#19
Hmmmm. Det jeg så ikke forstår er så at det 0 som den første entry for ikke finde i databasen, Den starte ved 1 MC
15. august 2005 - 13:47
#20
Prøv at tilføj denne kode: <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select Katid, Katname from kat"); $katcount = mysql_num_rows($product); $katArray = array(); while($row = mysql_fetch_assoc($product)) { $katArray[$row['Katid']] = $row['Katname']; } echo "<pre>"; print_r($katArray); echo "</pre>"; exit(); Og så gerne et link til siden...
15. august 2005 - 13:59
#21
15. august 2005 - 14:02
#22
Hvis du holder musen over boxene kan du se at deres Katid ikke følger den ID som ligger i databasen, Hvilket den gerne skulle MC
15. august 2005 - 14:06
#24
Ja MC
15. august 2005 - 14:22
#25
Det lyder mærkeligt. Vi har de rigtige data i array'et og jeg synes ikke vi ændre $id nogen steder. Men prøv alligevel at ret nederste kode til: $kolonner = 3; $antalKat = count($katArray); if($antalKat > 0) { echo "<table cellpadding=\"0\" cellspacing=\"0\"><tr>\n"; echo "<tr>\n"; $i = 0; foreach($katArray as $katid => $kat) { if(!($i%$kolonner) && $i>0 && $i < $antalKat) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td><a href=\"?Site=10&katid=".$katid.">".$kat."</a></td>\n"; $i++; } for($i=0; $antalKat % $kolonner && $i<$kolonner-($antalKat % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; }
15. august 2005 - 14:30
#26
15. august 2005 - 14:36
#27
Altså uden at være en haj, så som jeg ser det er det som om at id bliver tilføjet fra arrayet dvs at Id er arrayet start og ikke det der står i Id i tabellen, Så enten skal vi have databasen Id trukket ud eller skal vi have arrayets Id plusset med 1 MC
15. august 2005 - 14:47
#28
Vi laver jo array'et her: $katArray[$row['Katid']] = $row['Katname']; Der bruger vi katid fra db. Så den skulle jo være god nok.
15. august 2005 - 14:53
#29
Ved ikke om vi snakker forbi hinanden. Dette er min side <? //Opbyg af array $database = mysql_connect("localhost", "user", "password"); mysql_select_db("database", $database); $product = mysql_query("select * from kat"); while($row = mysql_fetch_assoc($product)) { $katArray[] = $row[Katname]; } $kolonner = 3; $antalKat = count($katArray); if($antalKat > 0) { echo "<table cellpadding=\"0\" cellspacing=\"0\"><tr>\n"; echo "<tr>\n"; $i = 0; foreach($katArray as $katid => $kat) { if(!($i%$kolonner) && $i>0 && $i < $antalKat) { $tmp .= "</tr>\n<tr>\n"; } $tmp .= "<td><a href=".$Host."?Site=10&katid=".$katid.">".$kat."</a></td>\n"; $i++; } for($i=0; $antalKat % $kolonner && $i<$kolonner-($antalKat % $kolonner); $i++) { $tmp .= "<td> </td>\n"; } $tmp .= "</tr>\n</table>"; echo $tmp; } ?> Måske har jeg glemt at rette noget MC
15. august 2005 - 15:05
#30
Finder du en løsning vil jeg være glad for at høre den ,men ellers bare glem det, jeg har tilføjjet $id++; i koden som gør at den springer 0 over MC
15. august 2005 - 15:19
#31
Ret lige: $katArray[] = $row[Katname]; til: $katArray[$row['Katid']] = $row['Katname']; Linie 8.
Vi tilbyder markedets bedste kurser inden for webudvikling