Avatar billede -kenner- Nybegynder
11. maj 2005 - 23:27 Der er 5 kommentarer og
1 løsning

Udskrive fra MySQLi 4 celler, og der skal være lige mange i hver.

Hej eksperter.

jeg skal have lavet et script, som udskriver navne fra MySQL i en tabel. Der skal være lige mange i hver celle, så antallet af navne divideres med 4, og rundes op.

Den skal udskrive ind til det den når det oprundede tal, og derefter skal den begynde at udskrive i 2. celle osv. Så skulle det gerne ende med at der max er et underskud på 3 navne i 4. celle.

Tabellen ser sådan ud:

<table border="0">
<tr>
<td>celle 1</td>
<td>celle 2</td>
<td>celle 3</td>
<td>celle 4</td>
</tr>
</table>

Jeg har også lavet lidt kode til det, men i skal hjælpe med at færdig gøre den:

//Laver forespørgsel i tabellen
$afviste_venner = mysql_query ("SELECT * FROM `afviste-venner` ORDER BY brugernavn ASC") or die (mysql_error());
//tæller antallet af afslåede ansøgninger
$afviste = mysql_fetch_assoc(mysql_query("SELECT COUNT( * ) as antal FROM `afviste-venner`"));
echo "Samlet antal afslåede ansøgninger: {$afviste['antal']}<br><br>\n\n";

$delt = $afviste['antal'] / 4;
$delt = ceil($delt);
// Nu skal den udskrive i tabellen, og det er det i skal hjælpe med.

Mvh Kenneth
Avatar billede Noone Nybegynder
11. maj 2005 - 23:34 #1
Altså går ud fra at $delt indeholder det antal der skal være i hver celle?

I så fald skal du bare gøre således:

<table>
<tr>
<td><?php
$counter = 1;
while ($afvistven = mysql_fetch_assoc($afviste_venner)) {
echo "{$afvistven['feltnavn']}<br>\n";
if ($counter != $delt) {
$counter++;
} else {
echo "</td>\n
<td>";
$counter = 1;
}
}
?></td>
</tr>
</table>

Prøv det, og se om det ikke giver ønsket resultat..
Avatar billede -kenner- Nybegynder
12. maj 2005 - 22:19 #2
Perfekt, send svar..
Avatar billede Noone Nybegynder
13. maj 2005 - 12:25 #3
Nej, behold bare point selv, sidst jeg kiggede, kunne de ikke veksles til noget brugbart.. ;)
Avatar billede -kenner- Nybegynder
13. maj 2005 - 14:09 #4
OKay så, hvis du insistere..
Avatar billede -kenner- Nybegynder
18. maj 2005 - 16:51 #5
Hvis jeg nu vil sætte det op sådan her, hvordan kommer koden så til at se ud?

Opsætning:
<table>
<tr>
  <td>navn1</td>
  <td>navn2</td>
  <td>navn3</td>
  <td>navn4</td>
</tr>
<tr>
  <td>alder1</td>
  <td>alder2</td>
  <td>alder3</td>
  <td>alder4</td>
</tr>
<tr>
  <td>email1</td>
  <td>email2</td>
  <td>email3</td>
  <td>email4</td>
</tr>
</table>
Avatar billede -kenner- Nybegynder
18. maj 2005 - 16:54 #6
og så når den når 4, så skal den starte forfra med:

<tr>
  <td>navn1</td>
  <td>navn2</td>
  <td>navn3</td>
  <td>navn4</td>
</tr>
<tr>
  <td>alder1</td>
  <td>alder2</td>
  <td>alder3</td>
  <td>alder4</td>
</tr>
<tr>
  <td>email1</td>
  <td>email2</td>
  <td>email3</td>
  <td>email4</td>
</tr>
og så skal den bare lede de resterende felter tomme. Altså hvis der er 3 i den sidste række, så skal det sidste felt udskrives, selv om at det er tomt..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester