kkun pour me corriger ? [php] - Programmation
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 !
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
Marsh Posté le 01-06-2002 à 14:31:02
ça m'étonnerait franchement ...
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 ?
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" );
?>
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 !
Marsh Posté le 01-06-2002 à 14:56:56
arf voui autant pour moi desole !
bah comment je peux faire alors ??
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]
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 ??
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:
<?
[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:
- Multimédia (2)
Lecture MP3 et audio Lecture Vidéo ...
---------------
Make Portraits, Not War!