2010-07-09 5 views
-1

Voici mon code les enregistrements montre dans quatre colonnes, mais si mes enregistrements sont vides, il montre trois images balng, des suggestions?PHP MYSQL, Comment afficher les enregistrements dans quatre colonnes,

$query = mysql_query("SELECT * from rbf_events_images where event_id='".$_GET['id']."'"); 
echo '<table border="1">'; 
if(count(mysql_num_rows($query)>0)): 
$tropentags='<tr>'; 
$troclosingtags='</tr>'; 
$formTags=""; 
$tdTags=""; 
$count=1; 
while($row = mysql_fetch_array($query)){ 

$tdTags.='<td align="left" valign="middle" class="td" >$row['image']</td>'; 

if ($count>3) 
    { 
    $formTags.=$tropentags.$tdTags.$troclosingtags; 
    $tdTags=""; 
    $count=0; 
    } 
    $count=$count+1; 
    } 
if ($count>0) 
{ 
    for($i = 1; $i <= (4-$count) ; $i++) 
    { 
$tdTags.='<td align="left" valign="middle" class="td" >$row['image']</td>'; 
    } 
    $formTags.=$tropentags.$tdTags.$troclosingtags; 
} 

echo $formTags; 


endif; 

Merci pour votre aide vraiment!

+0

Pouvez-vous améliorer votre code pour être lisible? Mettre en retrait avec quatre espaces le code, et il sera affiché correctement. –

+1

@MainMa - édité au nom de @ devzone :) – Matchu

+0

Il est encore illisible, mais maintenant pour l'autre raison (refactoring etc.). –

Répondre

0

Voici ce que je fais d'habitude de mettre des documents dans les colonnes:

$id = mysql_real_escape_string($_GET['id']); 
$query = mysql_query("SELECT * from rbf_events_images where event_id='$id'"); 
echo '<table border="1"><tbody><tr>'; 
if (mysql_num_rows($query) > 0) { 
    $count = 0; 
    while ($row = mysql_fetch_array($query)) { 
     if ($count && $count % 4 == 0) echo '</tr><tr>'; 
     echo '<td align="left" valign="middle" class="td">'.$row['image'].'</td>'; 
     $count++; 
    } 
} 
echo '</tr></tbody></table>'; 
+0

merci pour votre aide Mark Godbless! – devzone

+0

Pas de problème. Je suis content que vous l'ayez trouvé utile! Si vous avez réellement utilisé ma réponse, ce serait génial si vous pouviez marquer ma réponse comme acceptée (cela augmentera vos points de réputation). Bonne chance pour le projet! –

1

je remarquai que sur des lignes comme celle-ci:

$tdTags.='<td align="left" valign="middle" class="td" >$row['image']</td>'; 

Vous êtes en délimitant la chaîne avec des guillemets simples ('), et vous essayent également d'intégrer une variable dans la chaîne qui utilise des guillemets simples. Je ne sais pas comment vous n'avez pas compilé d'erreurs pour cela. Je passer à:

$tdTags= '<td align="left" valign="middle" class="td">' . $row['image'] . '</td>'; 
+0

Pour être plus précis, peu importe s'il y a un index ou pas, comme tout ce qui est dans les guillemets simples a une sortie littérale et n'analyse pas les variables. ''Certains textes $ var more text'' sortent exactement comme il est écrit: text $ var plus de texte. –

Questions connexes