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

PHP & Base de données Discussion :

[SQL] Insertion d'une table à une autre


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut [SQL] Insertion d'une table à une autre
    Bonjour, je commence depuis deux jours à m'intéresser à la programation et j'ai un petit problème que je n'arrive pas à résoudre.

    Voilà, j'ai un formulaire qui récupère des données dans une table "boutique", pour afficher avec une seule ligne une liste de déroulante qui affiche donc le nom de l'objet + le prix.

    Ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select name=bname>        
            <?php
    			for($i=0; $i<mysql_num_rows($sql); $i++)
    			{
    			mysql_data_seek($sql,$i);
    			extract(mysql_fetch_array($sql));
    			$fprix=$bprix;
    			echo"<option value=$bname>$bname</option>";
    		}
    		?>
            </select>
    bname = le nom de l'objet

    Je voudrais que le prix soit envoyé a la deuxième base "commandes".
    J'arrive à récuperer le nom donc, facilement, mais je n'arrive pas a récuperer le prix.

    Y a t-il une solution ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Quel est le contenu de ta variable $sql ?

    Citation Envoyé par thoanny Voir le message
    Bonjour, je commence depuis deux jours à m'intéresser à la programation et j'ai un petit problème que je n'arrive pas à résoudre.
    Fais un voeux, c'est le premier d'une longue série !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Quel est ta requete que tu utilises ?
    Sinon , je pense qu'il y a une meilleure solution avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $result = mysql_query($requete)
    if (mysql_num_rows($result) > 0){
    while($enregistrement=mysql_fetch_array($result))
    {
    ...
    }
    Pour parcourir chaque enregistrement de la table

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut
    La requête ?? Désolé...

    Voici les lignes de codes

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <?php
    if($act=='send'){
    @$sql=mysql_query("SELECT * FROM users WHERE fid=$id AND fpassword='$password'");
     
     	if(!mysql_num_rows($sql))
     	{
    	echo"<b><font size=4 color=red>&nbsp &nbsp Mot de passe incorrect !</b></font><p>&nbsp &nbsp Veuillez r&eacute;essayer...";
    	exit;
    	}
    else
    {
    $ma = date("Y-m-d");
    @mysql_query("INSERT INTO commandes (fid, fcado, fprix, fnbr, fdate) VALUES ('$fid','$bname','bprix','$fnbr','$ma')");
    echo"<b>Votre demande a bien &eacute;t&eacute; envoy&eacute;e !</b>";
    }
    }
    ?>
    <table width="100%" border="0" cellspacing="0">
      <tr> 
        <td colspan="2"><b>Vous pouvez faire une demande dans la boutique d&egrave;s que votre solde de points est suffisant pour ce faire ! 
         </b></td>
      </tr>
      <tr> 
        <td>
          <p align="center"><b>Merci de compl&eacute;ter ce formulaire :</b><br>
          </p>
          <form name="form1" method="post" action="">
            <table width="80%" border="0" cellspacing="0" align="center" background="images/fon.gif.gif">
            <tr><td>Choissisez le cadeau de la boutique</td>
            <td>
            <?php
    		$sql=mysql_query("SELECT * FROM boutik");
    		extract(mysql_fetch_array($sql));
    		?>
     
                <select name=bname>        
            <?php
    			for($i=0; $i<mysql_num_rows($sql); $i++)
    			{
    			mysql_data_seek($sql,$i);
    			extract(mysql_fetch_array($sql));
    			$fprix=$bprix;
    			echo"<option value=$bname $bprix>$bname $bprix</option>";
    		}
    		?>
            </select>        
     
            </td></tr>
            <tr><td>Nombre</td><td><select name="fnbr">
            <option value="1">x1</option>
            <option value="2">x2</option>
            <option value="3">x3</option>
            <option value="4">x4</option>
            <option value="5">x5</option>
            <option value="6">x6</option>
            <option value="7">x7</option>
            <option value="8">x8</option>
            <option value="9">x9</option>
            <option value="10">x10</option>
     
     
                  </select></td></tr>
              <tr>
                <td width="37%"><b>Votre ID :</b></td>
                <td width="63%">
                  <input type="text" name="id">
                </td>
              </tr>
              <tr> 
                <td width="37%"><b>Votre mot de passe:  	
    </b></td>
                <td width="63%"> 
                  <input type="password" name="password">
                </td>
              </tr>
              <tr> 
                <td colspan="2"> 
                  <div align="center">
                    <input type="hidden" name="act" value="send">
                    <input type="hidden" name="tp" value="user">
                    <input type="hidden" name="st" value="redemption">
                    <input type="hidden" name="s" value="2">
                    <input type="submit" name="Submit" value="Envoyer">
                  </div>
                </td>
              </tr>
            </table>
          </form>
          <p>&nbsp; </p>
        </td>
        <td>&nbsp;</td>
      </tr>
    </table>
    Je voudrais donc afficher "$bprix" de ma table "boutik" dans la liste déroulante "bname" à côté de "$bname" comme j'ai réussi à le faire. Et ces données doivent être transmises dans la table "commandes" à 'fcado' et 'fprix'.

    Et je ne trouve pas de moyen ayant très peu de connaissance... J'ai essayé une règle de calcul simple, mais pas de résultat !

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Je ne comprends pas grand-chose... j'ai l'impression que la requête que tu donnes ici n'a rien à voir avec celle qui alimente la liste déroulante de ton premier message.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut
    C'est le code de ma page php !

    Et on retrouve dedans la liste déroulante

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Par défaut
    Salut,

    voilà ce que je te propose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      while($record = mysql_fetch_object($sql)) {
         echo "  <option value=\"$record->bname\">$record->bname $record->bprix</option>\n";
      }

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut
    En fait on vient de me faire comprendre qu'il fallait que je vois ce travail dans la page qui affiche les commandes.

    Il faudrait que je compare le nom de l'objet dans les tables "boutik" et "commandes" pour afficher le prix de la table "boutik" si les deux noms sont égaux.

    J'ai essayer, mais c'est une catastrophe ... !

  9. #9
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    C'est clair comme de l'eau de boudin
    On oublie tout et tu reprends doucement depuis le début ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut
    Excusez ma non-expérience !

    En fait mon problème ne vient pas de mon formulaire de commande, il vient de mon tableau des commandes dans la partie administration.

    J'arrive à afficher tout les champs mais pas le prix !
    Je voudrais que si :
    "bname FROM boutik" = "fname FROM commandes" alors on affiche bprix FROM boutik.

    Mais je ne sais pas comment l'écrire...

  11. #11
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    ok... et quel est le code SQL de la requête dans laquelle tu voudrais ajouter le prix ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    	$sql=mysql_query("SELECT * FROM commandes ORDER BY fnum");
    	$rows=mysql_num_rows($sql);
    	for($i=0;$i<$rows;$i++)
    	{
    	mysql_data_seek($sql,$i);
    	$arr=mysql_fetch_array($sql);
    	extract($arr);
    	$totaltotal=$bprix*$fnbr;
    	echo"
    	<tr><td>$fnum</td><td>$fid</td><td>$fcado</td><td>$bprix</td><td>$fnbr</td><td>$totaltotal</td><td>$fdate</td><td>Accepter / Refuser<tr></tr>
    	"
    	;}
    	?>
    La voici, tout les champs sont donc affichés sauf $bprix puisqu'il est dans la table boutik !

Discussions similaires

  1. [SQL Server] syntaxe pour ajouter une colonne à une table
    Par gloglo dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/09/2009, 12h43
  2. [PL/SQl] Insertion de valeurs dans une table
    Par ApprentiOracle dans le forum SQL
    Réponses: 4
    Dernier message: 29/11/2007, 20h05
  3. [Requête/SQL]Importer des données d'une table à l'autre
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/04/2007, 11h46
  4. [A97] VBA : Commande sql pour insertion de champs dans une table
    Par JeremieT dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/07/2006, 14h12
  5. INSERT avec condition d'une table à une autre
    Par papipasto dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2006, 14h51

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