Besoin d'aide sur ARRAY

Résolu
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010 - 23 nov. 2010 à 00:39
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010 - 25 nov. 2010 à 00:17
Bonsoir,

Je tourne en rond, pourriez-vous m'éguiller sur le probleme suivant :

Fonction:
---------------
function Liste($Req, $Server, $User, $Pwd, $Base)
{
$Link = mysql_connect($Server, $User, $Pwd);
if (!$Link) {echo "Err-000";} else
{//La connexion a MYSQL est OK.
$row = '';
mysql_select_db($Base, $Link);
$Datas = mysql_query($Req, $Link);
if (!$Datas) {echo "Err-FFF";}
else
{ // La requete a ete executee avec succes
$i=0;
while ($row == mysql_fetch_array($Datas, MYSQL_ASSOC))
{
$Reponse[$i] .= $row;
$i++;
}
mysql_free_result($Datas);
}
mysql_close($Link);
}
return $Reponse;
}



Le code appelant :
-----------------
$SQL "SELECT * FROM clients WHERE NumRev '$Revendeur'";
$CLIENTS[] = Liste ($SQL,$MyHost,$MyUser,$MyPswd,$MyBase);
if ($CLIENTS)
{// Liste des clients
$ReturnResult = "Liste=OK|";
foreach ($CLIENTS as $Client)
{
$ReturnResult .= "{$Client['TypeClt']}";
}
}
else
{
$ReturnResult = "Liste=ERR";
}



Je recupére rien, je pense que g un soucis de ARRAY (pas tres fort sur ce point encore)

Merci pour vos coup de pouce !
Amicalement,
Thierry

8 réponses

Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
23 nov. 2010 à 08:41
Salut !

Il y une erreur dans ta fonction. Inutile de mettre '.=' quand tu ajoutes des éléments dans un tableau ;-)
function Liste($Req, $Server, $User, $Pwd, $Base)
{
$Link = mysql_connect($Server, $User, $Pwd);
if (!$Link) {echo "Err-000";} else
{//La connexion a MYSQL est OK.
$row = '';
mysql_select_db($Base, $Link);
$Datas = mysql_query($Req, $Link);
if (!$Datas) {echo "Err-FFF";}
else
{ // La requete a ete executee avec succes
$i=0;
while ($row == mysql_fetch_array($Datas, MYSQL_ASSOC))
{
// $Reponse[$i] .= $row;
// devient :
$Reponse[$i] = $row;
$i++;
}
mysql_free_result($Datas);
}
mysql_close($Link);
}
return $Reponse;
}


J'espère que ca t'aidera, je n'ai pas plus le temps de regarder...

Bien à toi,

Le grand Jisay
3
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
24 nov. 2010 à 08:35
Essaie ca :
$Reponse[] = $row;


Je ne vois pas trop le problème... J'ai peut-être du brun dans les yeux ^^

Ta requête te renvoie bien qqch ?

Bien à toi,

Le grand Jisay
3
Le grand Jisay Messages postés 100 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 18 février 2011 2
24 nov. 2010 à 13:29
Mais bien sûr que j'ai du brun dans les yeux !

Il me semble que ton problème vient de la :
// mauvais : 
// $CLIENTS[] = Liste ($SQL,$MyHost,$MyUser,$MyPswd,$MyBase); 
// correct : 
$CLIENTS = Liste ($SQL,$MyHost,$MyUser,$MyPswd,$MyBase);
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
24 nov. 2010 à 15:27
Salut,

while ($row == mysql_fetch_array($Datas, MYSQL_ASSOC)) 


Tu n'obtiendras jamais rien, parce que tu utilises un opérateur de comparaison. $row, qui vaut NULL (puisque non défini au départ) ne sera JAMAIS égal au résultat de la fonction mysql_fetch_array() puisque cette fonction ne renvoit JAMAIS NULL.
Il faut utiliser un opérateur d'assignation : =

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
23 nov. 2010 à 15:47
Merci je test ca dessuite
0
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
23 nov. 2010 à 15:58
Si j'inclut un :

print_r($CLIENTS);

apres

$CLIENTS[] = Liste ($SQL,$MyHost,$MyUser,$MyPswd,$MyBase);

Ca me donne malgres la correction du .en

Array( [0] => ) ????????

Help me :)
Merci d'avance
Thierry
0
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
25 nov. 2010 à 00:12
boooooo, trop NULL thierry ;-(

merci a vous deux je fait tout ca et vous dis !
0
TMConsulting Messages postés 5 Date d'inscription jeudi 18 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
25 nov. 2010 à 00:17
Genial, merci 1000 fois ca fonctionne

A force de la lire je voyais plus rien
Amicalement,
Thierry
0
Rejoignez-nous