php - sql : Je n'arrive pas a obtenir de resultat


alfred99
WRInaute impliqué
WRInaute impliqué
 
Messages: 617
Inscription: 7 Déc 2004

php - sql : Je n'arrive pas a obtenir de resultat

Message le Sam Oct 22, 2005 10:25

Bonjour,
je dois modifier un script basé sur webcalendar pour lundi, et je coince sur une requete sql. le siteduzero est indisponible, et malgré mes recherches et essais, ca ne fonctionne toujours pas. alors je pose mes questions ici :
1) je n'arrive pas a récupérer les valeurs nom et in_soc dans la 1ere requete, seuls le contenu des colonnes donne un resultat
2) je n'arrive pas non plus a afficher les societes correspondant à la societe obtenue par la 1ere requete dans la 2eme requete sql.
Le code doit etre bourré de fautes, c'est la 1ere fois que je mets les mains dans sql-php. Merci de votre indulgence
le 1er code affiche bien une fenetre deroulante avec le nom des interlocuteurs
Code: Tout sélectionner
<SELECT name="nom" value="<? echo "$nom"; ?>">
<?php
$sql1= ("SELECT nom, in_soc FROM webcal_interlocuteur ");
$query1 = mysql_query($sql1) ;
$first = "";
while ($row1 = mysql_fetch_row($query1))

echo "<option selected value=$row1[0]>$row1[0]</option>";
</SELECT>
     </td>

et ensuite la requete qui n'affiche rien :
Code: Tout sélectionner
$sql1= "SELECT no, so_societe,  adr1  FROM webcal_societe WHERE so_societe = %$in_soc%";

J'y ai passé ma soirée d'hier , je n'y comprends rien. Merci d'avance

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Sam Oct 22, 2005 10:46

pour ta premiere question, si tu fait un
Code: Tout sélectionner
print_r($row);

dans ton while, ca donne quoi ?

dans ta seconde requete, si j'ai bien compris, tu recupere $in_soc dans la requete précédente
pourquoi ne fait-tu pas comme ceci ?

un identifiant de société (nombre unique à chaque société)
que tu place dans la table interlocuteur
et ensuite, pour récuperer la société d'un interlocuteur, tu fait comme ceci (l'identifiant, c'est id_soc)

Code: Tout sélectionner
SELECT nom, in_soc, no, so_societe, id_soc
FROM webcal_interlocuteur, webcal_societe
WHERE webcal_interlocuteur.id_soc = webcal_societe.id_soc;


alfred99
WRInaute impliqué
WRInaute impliqué
 
Messages: 617
Inscription: 7 Déc 2004

Message le Sam Oct 22, 2005 11:11

Merci KaZhaR.
1)
Le print_r($row1); me donne ca quand j'affiche la source de la page :
[0] => Alain BABAR [1] => Transports BABAR
)
<option selected value=ALAIN BABAR>Alain BABAR</option>Array
etc.... pour tous les interlocuteurs

2) oui, c'est bien $in_soc que je voudrais recuperer pour le 2eme requete.
Je vais essayer ta proposition quand j'aurais resolu le 1) car ça m'enerve qu'il n'y ait rien dans les variables $nom et les autres.

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Sam Oct 22, 2005 13:50

pour la value, mets des ' étant donné que tu a des espaces :
Code: Tout sélectionner
echo "<option selected value='$row1[0]'>$row1[0]</option>";


alfred99
WRInaute impliqué
WRInaute impliqué
 
Messages: 617
Inscription: 7 Déc 2004

Message le Sam Oct 22, 2005 14:39

les ' ne changent rien, pour la 2eme requete, il n'existe pas actuellement de no de societe, juste le nom, d'ou la recherche approchante a partir du in_soc de la 1ere requete. Mais in_soc reste desesperement vide.

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Sam Oct 22, 2005 14:43

que $in_soc reste vide, c'est normal, tu ne le définit pas
mais, $row1[1] n'est pas vide lui, tu a fait un print_r au dessus.
et il contient ton nom de société.


alfred99
WRInaute impliqué
WRInaute impliqué
 
Messages: 617
Inscription: 7 Déc 2004

Message le Sam Oct 22, 2005 14:54

je comprends le contenu de row1, mais je dois etre bouché car je ne comprends pas que in_soc ne soit pas défini. On ne peut pas le recuperer directement quand on lit la table ?
Quand on fait SELECT toto, titi, tutu FROM table , on ne recupere pas directement toto, titi et tutu ?

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Sam Oct 22, 2005 15:11

non, non
tu recupere les valeurs dans un tableau, que tu a appellé $row1

en conséquent, in_soc est compris dans $row1['in_soc'] et dans $row1[1]


alfred99
WRInaute impliqué
WRInaute impliqué
 
Messages: 617
Inscription: 7 Déc 2004

Message le Sam Oct 22, 2005 15:30

ok, je comprends, donc in_soc ne sert quasiment a rien. je vais aller installer le script quelque part pour que tu ( kashar) et les autres voient ce que ca donne, mais il va falloir que je recree mes nouvelles tables.
je donne l'adresse des que c'est ok. Merci d'avance.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités