Page 1 sur 3
variable
Posté : 24 déc. 2006, 21:23
par cmoi
Bonjour,
je voudrais inclure une variable qui récupèrerait la valeur id dans ma base mysql.
Est-ce que ce code est bon ?
<?php
$table = "organismes";
$sql = "SELECT * FROM " . $table." order by SOCIETE";
$res = mysql_query($sql);
$nb = mysql_num_rows($res);
$i = 0;
while ($i < $nb)
{
...etc
Apparemment pas ! L'idée est qu'à partir d'une adresse page.php?id=xxx on arrive quelque part.
Merci.
Posté : 24 déc. 2006, 21:24
par cmoi
<?php
$table = "organismes";
$sql = "SELECT * FROM " . $table." order by SOCIETE";
$res = mysql_query($sql);
$id=mysql_result($res, $i, "id");
$nb = mysql_num_rows($res);
$i = 0;
while ($i < $nb){ ...
Pardon. Voici le "bon" code.
Posté : 25 déc. 2006, 01:54
par charabia
Pour faire ce que tu désires, il te faut passer ta variable dans la clause WHERE de ta requête.
$sql = "SELECT * FROM " . $table." order by SOCIETE WHERE id=".$_GET['ton_champ'];
Posté : 25 déc. 2006, 10:26
par albat
Rappel :
Sauf cas de force majeure, le SELECT * est à proscrire.
Il est préférable de définir les champs souhaités.
Posté : 25 déc. 2006, 19:44
par cmoi
Voici ce que devient le début de mon code :
<?php
$table = "organismes";
$sql = "SELECT * FROM " . $table." order by SOCIETE WHERE id=".$_GET['REF'];
$res = mysql_query($sql);
$nb = mysql_num_rows($res);
$i = 0;
while ($i < $nb)
{
echo '<fo....
J'ai toujours un message d'erreur. Semble-t-il lié à la ligne : $nb = mysql_num_rows($res);
Posté : 25 déc. 2006, 19:46
par Truc
J'ai toujours un message d'erreur. Semble-t-il lié à la ligne : $nb = mysql_num_rows($res);
Et c'est un secret professionnel ou on peut le voir ce message ?

Posté : 25 déc. 2006, 19:47
par cmoi
Le voici :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/115/free.fr/d/6/europoleformations/formation/fiches/fiche_OF.php on line 57
Posté : 25 déc. 2006, 19:55
par Truc
Hi hi... en fait je m'en doutais
Bon regarde
ce post pour aider à trouver un "vrai" message d'erreur.
Indice... remet la requête dans l'ordre (order by... il est bien là ?

)
Posté : 25 déc. 2006, 20:01
par cmoi
le post ne m'aide pas beaucoup. débutant voulant dire qu'on n'y connaît et comprend rien, je ne fait que bidouiller le code sans y comprendre grand chose !
Donc apparemment il y a un problème d'ordre dans les éléments de mon code. Peux-tu être plus précis ? Je t'en remercie.
Posté : 25 déc. 2006, 20:09
par cmoi
le post ne m'aide pas beaucoup. débutant voulant dire qu'on n'y connaît et comprend rien, je ne fait que bidouiller le code sans y comprendre grand chose !
Donc apparemment il y a un problème d'ordre dans les éléments de mon code. Peux-tu être plus précis ? Je t'en remercie.
Posté : 25 déc. 2006, 20:11
par Truc
le post ne m'aide pas beaucoup.
Et tu l'as lu et compri en 5 min ?
débutant voulant dire qu'on n'y connaît et comprend rien, je ne fait que bidouiller le code sans y comprendre grand chose !
ça ne veut pas non plus dire qu'on ne doit pas se donner un peu de mal.
Bon tu connais les requêtes :
1. Selection => SELECT
2. Table => FROM
3. Restriction => WHERE
(4. Goupement => GROUP BY)
5. Tri => ORDER BY

Posté : 25 déc. 2006, 20:40
par cmoi
$sql = "SELECT * FROM " . $table." order by id=".$_GET['REF'] WHERE SOCIETE" ;
si c'est un problème d'ordre, à part inverser, je vois pas !
Posté : 25 déc. 2006, 20:51
par charabia
$sql = "SELECT * FROM " . $table." order by id=".$_GET['REF'] WHERE SOCIETE" ;
si c'est un problème d'ordre, à part inverser, je vois pas !
Tu es débutant alors il faut y aller pas à pas. Regardes déjà les tutos sur les concaténations, tu n'es pas au point dessus.
Aides toi de la coloration syntaxique, tu devrais repérer immédiatement ton erreur.
Posté : 25 déc. 2006, 21:04
par cmoi
Après des essais, je suis finalement revenu à ce code :
<?php
$table = "organismes";
$sql = "SELECT * FROM " . $table." order by SOCIETE where REF=".$_GET['REF'];
$res = mysql_query($sql);
$nb = mysql_num_rows($res);
$i = 0;
while ($i < $nb)
{
echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b>'.mysql_result($res, $i, "SOCIETE").'</b></font>';
'<font face="Arial, Helvetica, sans-serif" size="1" color="#666666"> ('.mysql_result($res, $i, "REF").')</font><br />';
la couleur ne m'aide pas beaucoup puisque je ne sais pas ce que signifient les couleurs.
Où y a-t-il une concaténation ?
Posté : 25 déc. 2006, 21:21
par ma_pomme
regarde bien les post au dessus et regarde ta requete tu devrais trouvé ton erreur.
PS: je suis debutant aussi mais il faut savoir lire les post en entier

et avoir un minimum de dissernement