variable

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 déc. 2006, 21:34

la couleur ne m'aide pas beaucoup puisque je ne sais pas ce que signifient les couleurs.
Bah, si c'est rouge tu es dans une chaine de caractères si c'est bleu il s'agit d'une variable (en général du moins, valable que sur le Forum bien sûr :wink: ).
Où y a-t-il une concaténation ?

une concaténation c'est le truc avec un point (.) :
$v = "voilà ".$une." concaténation";
concaténer = coller des bouts de variables avec des chaines.

La requête n'est toujours pas remise dans l'ordre.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

25 déc. 2006, 21:35

je regarde les post, je regarde ma requête, et je ne vois rien !

Ce que je sais, c'est que sans where REF=".$_GET['REF'], ça fonctionne.
Donc avec, qu'est-ce que ça change ? Je ne sais pas. Question d'écriture sûrement ?
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 déc. 2006, 21:36

Donc avec, qu'est-ce que ça change ? Je ne sais pas. Question d'écriture sûrement ?
L'ordre, l'ordre :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

25 déc. 2006, 21:44

$sql = "SELECT * FROM " . $table." order by REF=".$_GET['REF']." where SOCIETE"; 
voici mon dernier essai.
Toujours pas bon. Ca chauffe ?
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 86 Messages

25 déc. 2006, 22:06

Bon tu connais les requêtes :
1. Selection => SELECT
2. Table => FROM
3. Restriction => WHERE
(4. Goupement => GROUP BY)
5. Tri => ORDER BY
:wink:
l'ordre il faut que tu fasse ta requete de façon bien ordonné sinon tu as une erreur

Avatar du membre
ViPHP
ViPHP | 3008 Messages

25 déc. 2006, 22:08

Avant d'avancer je te conseille vivement de te pencher sur ce tutorial :
http://www.siteduzero.com/tuto-3-140-1- ... #ss_part_3

Ensuite si tu ne vois pas vient nous poser des questions.

Tu ne sais pas ce qu'est une concaténation et pourtant tu en fais, cela prouve que tu copies sans comprendre.

Avant d'attaquer quoi que ce soit il te faut te renseigner au minimum sur les bases. Là tu n'as aucun bagages, si tu es perdu dans les bases tu le seras bien plus plus tard quand tu avanceras dans ton projet.

Eléphant du PHP | 440 Messages

26 déc. 2006, 00:27

Bon j'ai compris qu'on doit mettre where avant order by, mais je ne suis guère plus renseigné sur la place des " et des .

j'en suis là
$sql = "SELECT * FROM" . $table. "where REF=.$_GET['REF'] order by SOCIETE"; 
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 déc. 2006, 00:30

Suite de l'apprentissage : http://phpdebutant.org/article55.php

Eléphant du PHP | 440 Messages

26 déc. 2006, 00:44

je ne peux pas faire mieux à cette heure-ci.
$sql = "SELECT * FROM" . $table. "where REF=".$_GET['REF']." order by SOCIETE"; 
A demain ! Merci.
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 déc. 2006, 00:51

C'est parfait :wink:
Suffit juste d'ajouter un peu d'espaces (après FROM et avant WHERE) pour s'assurer qu'aucun mot (variable) ne se colle à un mot en dur de la requête :
$sql = "SELECT * FROM " . $table. " where REF = ".$_GET['REF']." order by SOCIETE"; 
Maintenant assure toi aussi que les variables sont correctement affectées... en affichant la requête (avant exécution):
echo $sql;

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

26 déc. 2006, 13:54

26/12, ça avance.

voici mon code après les modifs :
<?php 
    $table = "organismes"; 
	$sql = "SELECT * FROM " . $table. " where REF=".$_GET['REF']." order by SOCIETE"; 
    $res = mysql_query($sql); 
	$nb = mysql_num_rows($res);
    $i = 0; 
	   while ($i < $nb)
	   { 
	   echo $sql; 
	   echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b>'.mysql_result($res, $i, "SOCIETE").'</b></font>'; 
	   '.mysql_result($res, $i, "REF").'; 
Je ne sui pas sûr de l'emplacement de : echo $sql;
d'autant que ma page ne s'affiche toujours pas.

Je m'interroge sur l'utilité de cette ligne : '.mysql_result($res, $i, "REF").';
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 déc. 2006, 14:25

D'où sors-tu cette ligne ? Je me répète : http://phpdebutant.org/article55.php

Il vaut mieux pour toi de comprendre correctement la concaténation avant de continuer...

Eléphant du PHP | 440 Messages

26 déc. 2006, 14:40

j'ai corrigé en
<?php  
    $table = "organismes";  
    $sql = "SELECT * FROM " . $table. " where REF=".$_GET['REF']." order by SOCIETE";  
    $res = mysql_query($sql);  
    $nb = mysql_num_rows($res); 
    $i = 0;  
       while ($i < $nb) 
       {  
       echo $sql;  
       echo '<font face="Arial, Helvetica, sans-serif" size="2" color="#FF9900"><b>'.mysql_result($res, $i, "SOCIETE").'</b></font>';
un post précédent me disait : c'est parfait. C'est super... mais ça ne marche toujours pas !
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 déc. 2006, 14:45

Qu'est-ce qui ne marche pas à ce niveau ? Page blanche ? Erreur ?

Essaies d'exécuter la requête directement sous phpMyAdmin pour voir si tu récupères bien quelque chose.

Eléphant du PHP | 440 Messages

26 déc. 2006, 14:50

Voilà ce qui s'affiche :
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
Débutant complet en php/mysql. Merci pour votre aide.