Auteur Sujet: Lister Une Base  (Lu 7903 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne jppj

  • Habitué
  • **
  • Messages: 168
    • Holonet-System
Lister Une Base
« Réponse #45 le: 02 septembre 2005 à 22:34:24 »
Arf non, il n'a pas aimé :

Citer
Parse error: parse error, unexpected '[' in /home/users/j/jppj/www/essai/sim.php on line 30

La ligne correspond à :
$variableB = "astroport_".[B]$variableA[/B]; // ex : en espérant qu'on obtienne $variableB = astroport_Khomm
J'ai enlevé pour le moment les

On peut noter un net progrés :
Citer
Le pseudo a donné comme info :astroport_Khomm a pour valeur :
cargo_Khomm a pour valeur :
astroport_Tynna a pour valeur :
cargo_Tynna a pour valeur :

J'avais bien mis des valeurs dans mon formulaire...  ;)
« Modifié: 02 septembre 2005 à 22:34:49 par jppj »

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Lister Une Base
« Réponse #46 le: 02 septembre 2005 à 23:15:00 »
Si c'est çà , je suis vraiment nul :)
Essaie :
<?php

// on se connecte à MySQL
$db=mysql_connect('cl2-sql1', 'jppj1', 'xxx');

// on sélectionne la base
mysql_select_db('jppj1',$db);

// on crée la requête SQL
$sql="SELECT pla, propri FROM planetes WHERE propri='Ben'";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();

$nb_result = @mysql_num_rows($req);

echo "Le pseudo a donné comme info :";
for ($i=0;$i<$nb_result;$i++)
{
$variableA = @mysql_result($req,$i,'pla'); // ex : $variableA = "Khomm";
$variableB = "astroport_".$variableA; // ex : en espérant qu'on obtienne $variableB = astroport_Khomm
$variableC = $_POST[$$variableB];
echo "$variableB a pour valeur : ".$variableC."<br>";


$variableA = @mysql_result($req,$i,'pla');
$variableB = "cargo_".$variableA;
$variableC = $_POST[$$variableB];
echo "$variableB a pour valeur : ".$variableC."<br>";


}

?>

Hors ligne jppj

  • Habitué
  • **
  • Messages: 168
    • Holonet-System
Lister Une Base
« Réponse #47 le: 02 septembre 2005 à 23:50:48 »
Nan, il ne veut toujours pas en entendre parler, il me laisse comme résultat :

Citer
Le pseudo a donné comme info :astroport_Khomm a pour valeur :
cargo_Khomm a pour valeur :
astroport_Tynna a pour valeur :
cargo_Tynna a pour valeur :

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Lister Une Base
« Réponse #48 le: 03 septembre 2005 à 06:58:24 »
Je crois que je suis allé chercher trop compliqué...
(J'ai compris mon erreur, sur mes scripts, je récupérais directement par la variable sans utiliser $_POST, d'où l'utilisation des $$ ... La ca doit etre bon, enfin j'espere)
<?php

// on se connecte à MySQL
$db=mysql_connect('cl2-sql1', 'jppj1', 'xxx');

// on sélectionne la base
mysql_select_db('jppj1',$db);

// on crée la requête SQL
$sql="SELECT pla, propri FROM planetes WHERE propri='Ben'";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
mysql_close();

$nb_result = @mysql_num_rows($req);

echo "Le pseudo a donné comme info :";
for ($i=0;$i<$nb_result;$i++)
{
$variableA = @mysql_result($req,$i,'pla'); // ex : $variableA = "Khomm";
$variableB = "astroport_".$variableA; // ex : en espérant qu'on obtienne $variableB = astroport_Khomm
$variableC = $_POST[$variableB];
echo "$variableB a pour valeur : ".$variableC."<br>";


$variableA = @mysql_result($req,$i,'pla');
$variableB = "cargo_".$variableA;
$variableC = $_POST[$variableB];
echo "$variableB a pour valeur : ".$variableC."<br>";


}

?>
« Modifié: 03 septembre 2005 à 07:00:56 par Ice »

Hors ligne cheminots

  • Connaisseur
  • ***
  • Messages: 429
    • http://www.cheminots.be
Lister Une Base
« Réponse #49 le: 03 septembre 2005 à 07:41:37 »
En premier, tu peux récupérer toutes tes variables en faisant foreach($_POST as $k=>$v){
 $$k=$v;
}

Ensuite, il y a un p'tit problème dans
$variableA = @mysql_result($req,$i,'pla'); // ca, c'est ok
$variableB = "cargo_".$variableA; //ca, ca pourrait l'être
$variableC = $_POST[$variableB];//ca, ca ne l'est plus car tu as déjà défini $variableB, et qu'ici tu lui réassigne une nouvelle valeur
echo "$variableB a pour valeur : ".$variableC."<br>";

Ce que je veux dire, c'est que si tu te sers plusieurs fois d'une variable originale, n'y touche pas.

Par exemple :
$variableA = @mysql_result($req,$i,'pla');
$variableC = "cargo_".$variableA;
//$variableC = $_POST[$variableB]; Plus nécéssaire avec le foreach
echo "$variableC a pour valeur : $variableB <br>";
« Modifié: 03 septembre 2005 à 07:41:59 par cheminots »
www.cheminots.be
Le Portail des Cheminots et des amis du rail

Hors ligne jppj

  • Habitué
  • **
  • Messages: 168
    • Holonet-System
Lister Une Base
« Réponse #50 le: 03 septembre 2005 à 09:07:20 »
Voilà je viens d'essayer vos codes.

Bon bah Ice toutes mes félicitations, ca marche à merveille !

Cheminots, tu crois que ca vaut la peine de continuer sur sur que tu as mis ou pas ?

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Lister Une Base
« Réponse #51 le: 03 septembre 2005 à 14:58:48 »
:)
C'est vrai que le foreach peut marcher , mais je ne l'ai jamais utilisé. (et je ne sais pas s'il peut récupérer le nom de variable avec le foreach)

Hors ligne cheminots

  • Connaisseur
  • ***
  • Messages: 429
    • http://www.cheminots.be
Lister Une Base
« Réponse #52 le: 04 septembre 2005 à 08:13:53 »
ice> j'utilise le foreach pour récupérer mes données sur un hébergement ou le register-global est à off

jppj>A toi de voire. Mais si ton code s'étoffe, tu va être très vite perdu
 
www.cheminots.be
Le Portail des Cheminots et des amis du rail

Hors ligne jppj

  • Habitué
  • **
  • Messages: 168
    • Holonet-System
Lister Une Base
« Réponse #53 le: 04 septembre 2005 à 09:38:08 »
Je tenterai ca dans la semaine pour voir ce que ca donne. Je te tiens au courant pour dire si ca fonctionne ou non.

Merci.