IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] probleme avec list()


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [Tableaux] probleme avec list()
    bonsoir =)

    j'ai un petit probleme avec la fonction list : voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    $query="select * from reservations where Reference ='$ref'";
    $dataw = mysql_query($query);
    while($r=mysql_fetch_array($dataw))
    {
    $id = $r[id];
    $tickets=$r[tickets];
    substr($tickets, 0, -1);
    foreach(explode('#',$tickets) as $ticket)
    {
    $hell=explode(":", $ticket);
    list($nomar,$quan) = $hell;
     
    if($nomar && $quan) {
    $queryxx="SELECT * FROM ar WHERE artiste ='$nomar'";
    echo"-$queryxx<br>";
    $dataxx = mysql_query($queryxx);
    while($rxx=mysql_fetch_array($dataxx))
    {
    $id=$rxx[id];
    $a2=$rxx[artiste];
    $soldout=$rxx[soldout];
     
    $nvsoldout=($soldout+$quan);
    $query4="UPDATE ar SET soldout ='$nvsoldout' WHERE artiste='$nomar'";
    $dataw4 = mysql_query($query4);
     
    }
    }
    }
    }
    Au début quand j'affichais les valeurs $nomar et $quan ça me répondais avec es valeurs que je voulais+ un espace vide par ex :

    valeur1 : quan1
    valeur2 : quan2
    : <- ça c'est une valeur vide ...

    C'est con, je sais plus ce que j'ai fait mais la ça n'affiche plus la valeur vide

    Bref la l'avant derniere requete ($queryxx) s'affiche correctement aussi du gerne :
    SELECT * FROM ar WHERE artiste ='valeur1'
    SELECT * FROM ar WHERE artiste ='valeur2'
    et il n'y a pas d'autre SELECT avec artiste =''

    La requete qui est juste apres et viens en dernier ($query4) est censée mettre a jour le champ soldout dans la tabel 'ar' maais elle ne mets a jour que valeur1 et pas valeur 2.

    Je sais que le code ressemble a une boucherie, mais je suis un débutant tout frais !
    Merci de m'aider !

  2. #2
    Membre régulier Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Points : 97
    Points
    97
    Par défaut
    C'est que ton $ticket ressemble probablement à qqch comme ça : bla:bli:bleu: avec 2 points à la fin.
    Dans ce cas tu peux supprimer le dernier caractère avant par un substr($ticket, 0, -1). Mais il y a un problème c'est que je vois pas comment il peut créer une variable vide en plus de tes 2 variables. Il doit manquer des données dans ton énoncé.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    voila exactement a quoi ressemble mon $ticket :
    ---
    Gilberto Gil & Maria Joao (ZONE B):1#Canizares & Liz Mccomb - Quintet (Zone A):3#Dhafer Youssef Group & Philip Catherine (Zone B):1#
    ---
    Avant la list il y a un foreach :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach(explode('#',$tickets) as $ticket)
     
    {
    $quan = "";
    $nomar = "";
    list($nomar,$quan) = explode(":", $ticket);
    Merci !

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Pour la propreté de la premiere valeur $ticket, c'est ok, c'est clean, ce n'est pas une question d'un espace vide mais surtout un petit probleme avec list()

  5. #5
    Membre régulier Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Points : 97
    Points
    97
    Par défaut
    Apparemment d'après ce que tu dis le problème se situe dans la dernière requête, essais de faire un var_dump($res_artiste) pour voir le résultat. Le mieux à faire c'est de tester tout tes résultats au fur et à mesure du code avec des echo et des var_dump.

    Sinon je t'ai un peu réécris ton code pour le fun, n'oublie pas de quoté les index de tes tableaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
      $res_reservation = mysql_query("SELECT * FROM reservations WHERE Reference = '$ref'");
     
      while($reservation = mysql_fetch_array($res_reservation)) {
     
        foreach(explode('#', substr($reservation['tickets'], 0, -1)) as $ticket) {
     
          list($nomar,$quan) = explode(":", $ticket);
     
          if($nomar && $quan) {
     
            $res_artiste = mysql_query("SELECT * FROM ar WHERE artiste = '$nomar'");
     
            while($artiste = mysql_fetch_array($res_artiste)) {
     
              $soldout = $artiste['soldout'] + $quan;
     
              mysql_query("UPDATE ar SET soldout = '$nvsoldout' WHERE artiste = '$nomar'");
            }
          }
        }
      }
    C'est non-testé, pas garanti et en aucun cas je ne pourrai être tenu pour responsable si ton ordi part en fumée en chantant Gloria Jones lors de l'exécution

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/02/2008, 12h55
  2. [Tableaux] probleme avec tableau a recupere
    Par twixster dans le forum Langage
    Réponses: 14
    Dernier message: 16/02/2006, 17h50
  3. [MySQL] probleme avec liste déroulante et requete
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2006, 13h55
  4. [Tableaux] probleme avec la fonction error_log
    Par cortex007 dans le forum Langage
    Réponses: 5
    Dernier message: 23/12/2005, 12h37
  5. [Tableaux] probleme avec fichier texte
    Par leluis dans le forum Langage
    Réponses: 9
    Dernier message: 29/11/2005, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo