[php]kkun pour me corriger ?

kkun pour me corriger ? [php] - Programmation

Marsh Posté le 01-06-2002 à 09:18:01    

hello'
 
jeai donc essayé d'afficher des resultats dans 2 colonnes...
ça affiche bien les resultats, mais seulement dans 1 colonne au lieu de 2... mais le code est un plus complexe Qunlqun peut il me corriger, voila ce que j'ai fais:
 

Citation :


<?
[B]echo("<TABLE width=400 height=11>\n<TR>\n<TD>\n" );[/B]
include("scriptsphp3/logiciels/CONF/mysql_connect
.inc.php" );
 
$query = "SELECT * FROM $table_cat ORDER BY id ASC";
$result = mysql_query($query);
[B]$parcolonne = $result/2;
$colnum = 1;  
$nblignes = 0;[/B]
 
$nb = mysql_num_rows($result);
 
  if($nb!=0) {
 
    while ($cat = mysql_fetch_array($result))  
    {
    [B]$nbligne++;[/B]
$SS_CAT_MAX = 5;
    $query2 = "SELECT * FROM $table_ss_cat WHERE id_cat = '$cat[id]' ORDER BY id ASC LIMIT 0,$SS_CAT_MAX";
    $result2 = mysql_query($query2);
 
 
    $query3 = "SELECT * FROM $table_logiciels WHERE id_cat = '$cat[id]' ";
    $result3 = mysql_query($query3);
 
    $nb_log = mysql_num_rows($result3);
 
 
    echo("<font color=white><span class=\"cat_index\">- <a href=\"index.php?p=scriptsphp3/logiciels/details_cat&cat=$cat[id]\" class=\"cat_index\"><b>" . stripslashes($cat['nom']) . "</b></a><font color=#FFD16F> (" . $nb_log . " )</font></span><br><font color=white>" );
    echo("" );
 
 
    while ($ss_cat = mysql_fetch_array($result2))  
    {
    echo stripslashes($ss_cat["nom"]) . "  ";
}
echo "...";
echo ("<p>" );
 
    [B]if(($nbligne >= $parcolonne) && ($colnum == 1))
    {
        echo("</TD>\n<TD>\n" );  
        $colnum = 2;    
     
    }[/B]
 
    }
  }
 
  else {
  echo("<span class=\"erreurs\">PAS DE LOGICIEL DANS LA BASE DE DONNEES!</span>" );
  }
[B]echo("</TD>\n</TR>\n</TABLE>\n" ); [/B]
?>


 
ce qui est en gras c le code pour les colones, ça fait plus clair  
 
sinon voila ce que ça donne à l'ecran:  
 

Citation :


- Multimédia (2)  
Lecture MP3 et audio Lecture Vidéo ...  


 
 :hello:


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 01-06-2002 à 09:18:01   

Reply

Marsh Posté le 01-06-2002 à 13:54:25    

tu peux me dire ce que tu espères avoir avec :  
$result = mysql_query($query);
$parcolonne = $result/2;
 
pcq $result est le résultat de ta query (=un recordset...)
divisé par 2 je pense pas que ça fct !

Reply

Marsh Posté le 01-06-2002 à 14:26:36    

bah pour d'autres scripts ça marche ça...
si ta quelque chose d'autre à me proposer veux bien :sarcastic:


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 01-06-2002 à 14:31:02    

ça m'étonnerait franchement   :heink: ...

Citation :

Only for SELECT,SHOW,EXPLAIN or DESCRIBE statements mysql_query() returns a resource identifier or FALSE if the query was not executed correctly. For other type of SQL statements, mysql_query() returns TRUE on success and FALSE on error.


http://www.php.net/manual/en/function.mysql-query.php
 
qu'est ce que tu veux avoir dans $parcolonne ?

Reply

Marsh Posté le 01-06-2002 à 14:39:59    

tiens vla un script "citations" qui fonctionne correctement je peux te l'assurer !
 
<?
      echo("<TABLE width=400 height=11>
   \n<TR>\n<TD>\n" );  
$req=mysql_query("Select DISTINCT t1.nom,t1.id, count(t2.id_sujets) As nbr FROM themes As t1 LEFT join citations As t2 On t1.id=t2.id_sujets group by t1.nom" )or die(mysql_error());
$nbrows = mysql_num_rows($req);
$parcolonne = $nbrows/2;
 
$colnum = 1;  
$nblignes = 0;  
while ($ligne_themes=mysql_fetch_object($req))  
{
  $nbligne++;  
     
echo '  '.'<div align="center"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#C6BFE8">'.("<B>.</B>  <a href=\"index.php?p=scriptsphp3/citations/citations&id=$ligne_themes->id\">$ligne_themes->nom</a> ($ligne_themes->nbr)" ).'<p>';
 
 if(($nbligne >= $parcolonne) && ($colnum == 1))
 {
  echo("</TD>\n<TD>\n" );  
  $colnum = 2;
   
 
 }
 
 
 }
echo("</TD>\n</TR>\n</TABLE>\n" );  
?>


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 01-06-2002 à 14:49:04    

si tu regardes bien tu verras que tu as écrit :  
$nbrows = mysql_num_rows($req);
$parcolonne = $nbrows/2;
 
 
et pas  
$result = mysql_query($query);  
$parcolonne = $result/2;  
comme tu l'as écrit dans ton script qui pose problème ;)
 
c différent et donc c'est normal que ton second script fct !

Reply

Marsh Posté le 01-06-2002 à 14:56:56    

arf voui autant pour moi desole !
 
bah comment je peux faire alors ??


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 01-06-2002 à 14:58:42    

je ne sais toujours pas ce que tu veux avoir dans $parcolonne (et je t'avoue que je n'ai pas envie de lire ton code en profondeur pour savoir ce que tu fais exactement)
 
donc dis moi ce que tu veux ça sera plus rapide ;)
 
à tout hasard essaye  
$parcolonne= (mysql_num_rows($result))/2;

 

[jfdsdjhfuetppo]--Message édité par Ethernal le 01-06-2002 à 15:07:48--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 01-06-2002 à 15:47:19    

yeps ça a l'air de marcherrrrr! merci :)
 
une derniere chose, comment ne pas deformer le tableau quand le texte est trop long ??


---------------
Make Portraits, Not War!  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed