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 ? :roll:

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 :P

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à ? :wink: )

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 ? :roll:
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
:wink:

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