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.
Jeg ville gerne at vi kunne finde fejlen i den kode jeg selv have lavet, for ellers lærer jeg ikke rigtigt hvad jeg havde lavet forkert.
Sandbox: det hjælper ikke...
Synes godt om
Slettet bruger
16. marts 2004 - 10:22#4
Skriver den stadig et uendeligt antal rækker ud med mine rettelser? Det burde den virkelig ikke. Der kan stadig være ting, der ikke virker helt efter hensigtn, men den skulle ikke udskrive mere end det, der står i databasen.
Jamen jeg forstår det simplethen bare ikke... Jeg vil jo gerne ah det sådan at man bare skal ændre et tal for at ændre hvor mange kolonner man gerne vil ha, og sådan som jeg ser det, kan man ikke det i dit eksempel.
Synes godt om
Slettet bruger
16. marts 2004 - 10:59#8
Det kan også sagtens fixes:
$antalkolonner=3;
if (mysql_num_rows($result)>0) { echo "<table width=570 border=1>"; $nummer=1; while( $row=mysql_fetch_assoc($result) ) { if ($nummer==1) { echo "<tr>"; }
if ($nummer==$antalkolonner){ echo "</tr>\n"; $nummer=1; } else { $nummer++; } } if ($nummer!=1) { do { echo "<td></td>\n"; $nummer++; } while ($nummer!=$antalkolonner); echo "</tr>\n"; } echo "</table>\n"; }
Den switch i mit tidligere forslag og if-do-while blokken her er for at sikre, at hvis antallet af rækker i databasen ikke går op i 3, så skal html-koden stadig være gyldig og der skal være det rigtige antal celler på alle rækker.
Så fandt vi da frem til en løsning der virkede... Jeg forstår desværre ikke helt hvordan og hvorledes, men jeg vil kigge lidt nærmere på det, og se om jeg kan lære at forstå systemet. :-) Takker..
Synes godt om
Slettet bruger
16. marts 2004 - 11:30#10
Så kommer der en lidt mere kommenteret udgave her. Den gør nøjagtig det samme som lige før. Hvis du stadig er i tvivl om noget, så bare spørg.
$antalkolonner=3;
// Fik vi nogle rækker overhovedet? if (mysql_num_rows($result)>0) { echo "<table width=570 border=1>"; $nummer=1; //Når løkken starter er vi i kolonne nummer 1 while( $row=mysql_fetch_assoc($result) ) { // hent en række fra databasen.
// Hvis vi er i første kolonne, skal vi starte med en <tr>-tag if ($nummer==1) { echo "<tr>"; }
// Alle kolonner skal have en <td> med et nick i. echo "<td width=190>"; echo $row["nick"]; echo "</td>\n";
// hvis vi er i sidste kolonne, skal vi slutte med en </tr> if ($nummer==$antalkolonner){ echo "</tr>\n";
// og så klargør vi kolonnenummeret til næste gang. $nummer=1; } else { // Her kunne jeg lige så godt have skrevet $nummer=$nummer+1; Det betyder det samme. $nummer++; } } // Her slutter while-løkken
// Nu er vi færdige med at hente fra databasen. Hvis nummer er 1, så // har vi lige afsluttet en række oppe i while-løkken, og så skal der ikke ekstra celler på. // Hvis nummer er noget andet end 1, så skal der fyldes ud med tomme celler, så tabellen ikke // bliver deform. if ($nummer!=1) {
// en do {} while-løkke bliver kørt igennem mindst en gang. // Hver gang den køres, laves der en tom celle, og kolonnenummeret forhøjes. do { echo "<td></td>\n"; $nummer++;
// Hvis kolonnenummeret endnu ikke er oppe på det ønskede antal, så køres løkken igen. } while ($nummer!=$antalkolonner); echo "</tr>\n"; } echo "</table>\n"; } // her slutter den if, der så efter om der var et resultat. // Måske en ide med en else her til at skrive "Ingen resultater matchede din søgning."
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.