recuperer une valeur d une requete sql pour l utiliser ds un chemin

recuperer une valeur d une requete sql pour l utiliser ds un chemin - PHP - Programmation

Marsh Posté le 23-07-2003 à 10:52:33    

Code :
  1. mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
  2. $sql_results=mysql_query("select code_wrin from referenciel,site where\n
  3. site.Num_site=referenciel.site and referenciel.actif='O'and\n
  4. designation='$design'group by designation" );
  5. $result_count=mysql_num_rows($sql_results);
  6. //Chemin des images a afficher  
  7. $handle='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_1.jpg";
  8. $handle2='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_2.jpg";
  9. $handle3='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_3.jpg";


je voudrais recuperer cette valeur pour l utiliser  
$sql_results=mysql_query("select code_wrin from referenciel,site where\n
site.Num_site=referenciel.site and referenciel.actif='O'and\n
designation='$design'group by code_wrin" );
$result_count=mysql_num_rows($sql_results);
 
ici
\\\groupes\\\referentiel\\' .$code_wrin ."_1.jpg";
$handle2='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_2.jpg";
$handle3='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_3.jpg";
 
merci d avance

Reply

Marsh Posté le 23-07-2003 à 10:52:33   

Reply

Marsh Posté le 23-07-2003 à 10:59:27    

La fonction mysql_query te renvoie un identifiant de résultat, il te faut ensuite utiliser une fonction du type de mysql_fetch_array pour parcourir ce résultat et en extraire l'information que tu désires.
 
Pour cela, je te conseille de parcourir la doc, chapitre mysql et de trouver la fonction qui convienne le mieux à ton cas, car mysql_fetch_array est trop lourde si tu ne veux qu'une seule valeur.
 
Dans tous les cas http://fr3.php.net/manual/fr/ref.mysql.php


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 23-07-2003 à 13:43:01    

je trouve pas celui qu il me faut  
ca marche pas personne peut m aider

Reply

Marsh Posté le 23-07-2003 à 14:41:54    

je te conseille d'utiliser mysql_result si tu n'as qu'un seul résultat :
 

Code :
  1. if ($result_count>0)
  2. {
  3. $code_wrin=mysql_result($sql_resultat,0,0);
  4. }
  5. mysql_free_result($sql_resultat);


 
Si tu as plusieurs lignes retournés par ta requete il te faut modifier un peu l'algo
 
 

Code :
  1. if ($result_count>0)
  2. {
  3. for($i=0;;$i<$result_count;$i++)
  4.  {
  5.  $code_wrin=mysql_result($sql_resultat,$i,0);
  6.  //les chemins
  7.  $handle='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_1.jpg";
  8.  $handle2='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_2.jpg";
  9.  $handle3='\\\\srv2\\\groupes\\\referentiel\\' .$code_wrin ."_3.jpg";
  10.  }
  11. }
  12. mysql_free_result($sql_resultat);


Message édité par Lord II le 23-07-2003 à 14:42:20

---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 23-07-2003 à 15:00:37    

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\referenciel\resultdesign.php on line 125
 
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\referenciel\resultdesign.php on line 127

Reply

Marsh Posté le 23-07-2003 à 15:04:00    

Autant pour moi, j'avais mal lu ton code.
 
Il te suffit de remplacer sql_resultat par sql_results
 
Tu aurais quand même pu effectuer une petite vérification  :fou:


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 23-07-2003 à 15:27:48    

Code :
  1. $sql_results1=mysql_query("select code_wrin from referenciel,site where\n
  2. site.Num_site=referenciel.site and referenciel.actif='O'and\n
  3. designation='$design' group by code_wrin" );
  4. $result_count=mysql_num_rows($sql_results1);
  5. //if ($result_count>0)
  6.   // {
  7. $code_wrin=mysql_result($sql_results1,0,0);
  8.   // }
  9. mysql_free_result($sql_results1);
  10. print "$code_wrin";


je sais j ai corrigé juste après

Reply

Marsh Posté le 23-07-2003 à 15:30:47    

je te conseille de laisser le test car cela evité une erreur au cas ou la requete ne donne aucun résultat. Et en plus cela ne coute rien en termes de temps d'éxécution car tu as déjà récupéré le nombre de lignes retournées.


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 23-07-2003 à 15:35:59    

ok merci bcp trop fort

Reply

Sujets relatifs:

Leave a Replay

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