[php] om en om in de recordset

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
ik heb de volgende sql query welke ik opsla in de array $r
PHP:
1
$getnews = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,14");


hoe kan ik nu ervoor zorgen dat ik na iedere tweede record in de set er iets toegevoegd wordt?
ik heb wel al deze code gevonden voor het om en om inzetten van verschillende kleuren.... maar ik weet niet zo goed hoe ik deze kan omzetten naar iets bruibaars voor mijn probleem. Ondanks dat ik weet dat het wel op zon soort manier moet.

PHP:
1
2
3
4
5
$kleurtjes = array("orange","red"); 

for ($i=0; $i++ < 5;){ 
    echo "<font color=\"".$kleurtjes[$i%2]."\">dit is id ".$i."<br>\n"; 
}

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

Verwijderd

Zoiets?
PHP:
1
2
3
4
5
foreach ($r as $newsitem) {
    printNews($newsitem);
    if ($i % 2 == 0)
        printIetsAnders();
}

Edit: De % (module) is een restdeling, zie ook hier[rml][ Java] de %-operator[/rml]

[ Voor 35% gewijzigd door Verwijderd op 17-02-2004 09:42 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
PHP:
1
2
3
4
5
6
7
$i = 0;
$kleurtjes = array("orange","red"); 
while($row = myqsl_fetch_array($getnews))
{
  echo '<font color="'.$kleurtjes[$i%2].'">'.$row['kolom'].'</font><br />';
  $i++;
}

[ Voor 29% gewijzigd door Skaah op 17-02-2004 09:48 ]


Acties:
  • 0 Henk 'm!

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
Skaah schreef op 17 februari 2004 @ 09:48:
PHP:
1
2
3
4
5
6
7
$i = 0;
$kleurtjes = array("orange","red"); 
while($row = myqsl_fetch_array($getnews))
{
  echo '<font color="'.$kleurtjes[$i%2].'">'.$row['kolom'].'</font><br />';
  $i++;
}
eeeuh dit bedoelde ik niet ...... nu ga je gewoon de kleurtjes toevoegen... dat snapte ik nog net ;)

het ging me om die %, de restdeling....
dit is wat ik ervan gemaakt heb, en ook een werkend iets voor diegene die het weten willen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

$getnews = mysql_query("SELECT * FROM RRT_shout ORDER BY id DESC LIMIT 29 ");
?>

<table style="width:100%;border:1px solid black;">
<?
// doen van iets voor iedere record in de query
while($row=mysql_fetch_array($getnews)){

        //het standaard maken van een cel onafhankelijk welk id hij heeft
 ?>
   <td>
   <font face='sans-serif, arial, helvetica' size='2' color='#001234'>
   <b>TITEL KOMT HIER</b></font><font size='1' color='#001234'> - 19 feb 2003</font><br>
   <?=$row['shout']?>
   </td>
   
<?
   
   // als het id van de record deel baar door twee is en de rest dan 0 is dus: 2,4,6,8,10,12,14 etc etc
  // dan toevoegen van een line break in de tabel de <tr>
   
   $nummer = $row['id'];            //het nummer opslaan als variabele
   if ($nummer % 2 == 0)            // Deze % betekent restdeling als die '0' is... dan <tr> toevoegen
   {
       ?><tr><?; 
    };                                         //closing if statement

};                                             // closing while statement


?> 
</table>                                    
                                     

[ Voor 16% gewijzigd door hobbeldebobbel op 17-02-2004 10:38 ]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
je kunt dit soort problemen vaak ook met de ternary operator oplossen. Denk bijvoorbeeld aan het om en om printen van kleurtjes

PHP:
1
2
3
4
5
6
$color1 = "#F00";
$color2 = "#00F";
while (iets)
{
   $color = (isset($color) && $color == $color1) ? $color2 : $color1;
}

[ Voor 20% gewijzigd door marty op 17-02-2004 11:34 . Reden: linkje toegevoegd ]


Acties:
  • 0 Henk 'm!

Verwijderd

of zo:
PHP:
1
2
3
4
5
6
7
8
9
10
$kleuren = array('red','blue','green','pink');

for($i=0;$i<20;$i++){
    echo $kleuren[0].'<br />';
    array_rotate($kleuren);
}

function array_rotate(&$array){
    array_push($array,array_shift($array));
}

nu kun je ook kiezen hoeveel en welke kleuren je wilt hebben.
ik weet niet of er al een php functie is zoals mijn array_rotate, had ook niet zo'n zin om te zoeken, het werkt! :)

owja, resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
red
blue
green
pink
red
blue
green
pink
red
blue
green
pink
red
blue
green
pink
red
blue
green
pink
Pagina: 1