PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#2 Re : Forum Général PHP » empêcher de écrire un script dans un champ » 15-12-2011 18:31:48

Bonsoir Jc,
Avec Regex (Expressions régulières) ? Faut-il mettre un contrôle à chaque champs dans un formulaire ?:mad:
Comment peut-on faire pour que l'on ne mette pas un script ?:mad: En fait, on peut empêcher certains caractères avec Regex, mais quel caractère il faut les empêcher pour que le script ne marche ?

bonne nuit

#3 Forum Général PHP » empêcher de écrire un script dans un champ » 15-12-2011 18:31:48

phpdos
Réponses : 5

Bonjour,

j'ai une question un peu générale :
Comment peut-on empêcher de mettre/écrire un script dans un champ d'un formulaire en PHP sans utiliser la classe captcha?

#4 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Bonjour Jc,

Si cela te satisfait... super alors...

ch..r ? ch..r ? Est-ce que j'ai une gueule de noix ?

Je n'ai rien compris ce que tu dis et j'en suis sûr que c'était quelques choses très marrante sur moi...
J'en suis sûr que tu n'as rien compris ce que je vous ai dit...

C'est cela la vie d'entr'aidePHPmySql...

bonne fin de semaine

#5 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Merci Pierrot...
En fait, j'ai trouvé une solution simple, mais pas très ergonomique : j'affiche l'option sélectionnée dans un « textbox ReadOnly » (les infos viennent de la table « tb_code_prmtn11 ») et je mets un menu déroulant à côté de textBox pour que l'utilisateur puisse changer l'option parmi toutes les options qui se trouve dans ce menu (les infos viennent de la table « tb_code_prmtn11_email » )...
bye:)

#8 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

C'est vraiment comique...
d'am-ét(h)ique-con au bibite...
du bibite au binette...

Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?

On s'est bien marré ici... sauf moi, c'est la vie... Mais c'est le temps, maintenant...

Je ne savais pas que l'on ne pourrait pas faire ce que je voulais...

Puisque c'est irrésolu, je voudrais fermer cette discussion...

En fait, comment  peut-on déposer une icône « Resolu » sur une discussion dans ce forum?
[c][c][/c]
Est-ce que cela est aussi entre le zist et le zest, cette question ?...[/c]

@*|*@
  #-#
    -

#9 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Jc a écrit :

Je ne ferai pas de commentaires..


$a_msg='<select name="xx" tabindex="xx" class="xx" />';
//........
 

Et j'ai fait encore un effort, ca fait plus d'un an que je n'utilise que PDO... penses-y bientôt PHP 6 (déjà dispo chez OVH).

Bonjour Jo et Maljuna Kris et Pierrot...

Même si vous vous moquez de moi, j'ai fait beaucoup de progrès : il y a quelques jours, je ne connaissais rien sur modelés de données relationnelles...
Malgré les propos sarcastique, je continue...
Voici ce que j'ai fait :

<?php
    $a_msg='<select name="email_menu" id="email_menu" onchange="submit()"/>';
    $a_msg .='<option value="00">---</option>';
    $req_courriel_menu=" SELECT tbl.id_resultat,tbl.fld_email_id,email.fld_nom_email,email.id_email
                     FROM $table_db tbl
                     
                     INNER JOIN $table_db_email email
                     ON tbl.fld_email_id = email.id_email
     
                                 WHERE tbl.id_resultat=$id "
; // ma requête avec les tables tbl et email
    $rep_email_menu =  mysql_query($req_courriel_menu, $cnx) or die( mysql_error() ) ;
  $num_row = mysql_num_rows($rep_email_menu);   //////!!!!!!!!!!!! ligne 32
    if ($num_row){
          while($row = mysql_fetch_array($rep_email_menu))
      {
              $nom_email = $row[2];
              $id_email = $row[1];
              if ($emailss==$id_email){$a_msg .="<option value=\"$id_email\" selected=\"selected\">$nom_email</option>";}
              else {$a_msg .="<option value=\"$id_email\">$nom_email</option>"; }
           }
    }
    $a_msg .='</select>';
    echo $a_msg;
?>

Jc, Ton code marche et très bien fait avec 2 variables ($nom_email et  $id_email ) que je n'ai pas pu imaginer de les faire mais prochaines fois...


En affichant "le code source de la page" dans Firefox je vois que :

<select name="email_menu" id="email_menu" onchange="submit()"/><option value="00">---</option><option value="tomo">TOTO MONO</option></select>


Alors, je me suis dit qu'il y a quelques choses que je n'arrive pas vous expliquer...:/


Je vais le faire avec d'autres exemples :

Mon menu marche et affiche toutes les options existent sur la table  (par variable : $table_db_email) avec le code suivant

<select name="email_menu" id="email_menu" onchange="submit()">
        <?php
     
            echo "<option selected=\"selected\" value=''>Choisir le nom</option>";
           

      $req_email_menu =   " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
               
      $rep_email_menu =  mysql_query($req_email_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($show_contenu_email_menu = mysql_fetch_assoc($rep_email_menu)) {
               
       
        echo '<option value="'.$show_contenu_email_menu['id_email'].'"';
       
       
       

           
            //if($primes==$show_contenu_email_menu['fld_nom_email']){echo " selected";} // pour afficher la selectionne
                  echo '>'.$show_contenu_email_menu['fld_nom_email'].'  - '.$show_contenu_email_menu['fld_adresse_email'].'</option>';
                 
                 
             
       

            }
        ?>
      </select>

Et voici le retour de code (en affichant "le code source de la page") que j'obtiens dans Firefox

<select name="email_menu" id="email_menu" onchange="submit()">

        <option selected="selected" value=''>Choisir le nom</option><option value="tomo">TOTO MONO  - toto.mono@test.com</option><option value="kito">KIKI TOTO - kiki.toto@test.com</option></select>
Et maintenant je vais ajouter quelques lignes dans mon code pour sélectionner une option de ce menu : cette option sélectionnée se trouve dans ma table table_db...

<select name="email_menu" id="email_menu" onchange="submit()">
        <?php
     
            echo "<option selected=\"selected\" value=''>Choisir le nom</option>";
           

      $req_email_menu =   " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
               
      $rep_email_menu =  mysql_query($req_email_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($show_contenu_email_menu = mysql_fetch_assoc($rep_email_menu)) {
               
       
        echo '<option value="'.$show_contenu_email_menu['id_email'].'"';
       
       
       
////////***************************************** sélectionner option qui est inscrit dans la table
       
        $req_email_adress_menu_for_selected =   "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id "
;
         $rep_email_adress_menu_for_selected =  mysql_query($req_email_adress_menu_for_selected, $cnx) or die( mysql_error() ) ;
           while($show_email_adress_menu_for_selected = mysql_fetch_assoc($rep_email_adress_menu_for_selected))
           {
          if($emailselected==$show_email_adress_menu['fld_email_id']){echo " selected";} //afficher option existant en selectionnant!!!!!!!!!!!!!!!!
          }
       
/////--------------------------------
            //if($primes==$show_contenu_email_menu['fld_nom_email']){echo " selected";} //afficher option existant en selectionnant!!!!!!!!!!!!!!!!
                  echo '>'.$show_contenu_email_menu['fld_nom_email'].'  - '.$show_contenu_email_menu['fld_adresse_email'].'</option>';
                 
                 
             
       

            }
        ?>
      </select>

Mon menu marche, mais sélectionne toutes les options pourtant dans mon bdd, il n'y a qu'une. Cela veut dire que mon code que j'ai ajouté n'est pas bon...

En affichant "le code source de la page" dans Firefox je vois que :


<select name="email_menu" id="email_menu" onchange="submit()">

        <option selected="selected" value=''>Choisir le nom</option><option value="tomo" selected>TOTO MONO  - toto.mono@test.com</option><option value="kito"    selected>KIKI TOTO - kiki.toto@test.com</option><option value="dida" selected>DIDI DADA - di_da@test.com</option></select>

big_smile
Alors, comment peux-je afficher, dans mon menu, une option sélectionnée qui se trouve dans la table table_db, tout en affichant toute les options qui se trouvent dans une autre table (table_db_emai) ?


en fait, je vaudrais obtenir le même code source que le suivant :

<select name="email_menu" id="email_menu" onchange="submit()">

        <option selected="selected" value=''>Choisir le nom</option><option value="tomo" selected>TOTO MONO  - toto.mono@test.com</option><option value="kito" >KIKI TOTO - kiki.toto@test.com</option><option value="dida" >DIDI DADA - di_da@test.com</option></select>

#10 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Pierrot a écrit :

Bonsoir,
en 2011 et qu'il existe aujourd'hui des outils bien plus performant.

a++

Bonsoir Pierrot,

quels outils ?

#11 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Bonsoir JC,

Puisque tu es un Maitre, je t'écoute...
Et je te dis aussi merci pour tes mots...

En plus, la solution que j'ai trouvée (1 input et un menu déroulant) n'est pas très belle et c'est compliqué parce que la valeur récupérée par post d'une input, c'est un nom (fld_nom_email)  mais c'est n'est pas son id (fld_email_id)

Par contre, la valeur de mon menu, c'est l'id (fld_email_id). Autrement dit, les utilisateurs voient le nom de personne dans l'input (comme le PHP) et dans le menu déroulant (mais le PHP trouve son id dans le menu). Donc il faut que je change la valeur d'input avec son id...


Je voulus comprendre ton code, mais ma connaissance n'est pas suffisante...


D'ailleurs, je ne sais pas si tu as pu compris bien mon histoire : Dans mon menu déroulant, je voulais chercher les options dans une table et le select dans une autre table (mon bd a un modèle de données relationnelles que j'ai apprises sur le Net, grâce à vous).

Comme plusieurs fois j'ai écrit et comme tu dis "Pour remplir un select il ne faut pas filtrer ta requête donc ta requête avec un “WHERE ... ” tu peux oublier. » , mon menu marche avec le code suivant :

<select name="courriel_menu" id="courriel_menu"  class="valid"  onchange="submit()">
        <?php
     
            echo "<option selected=\"selected\" value=''>choisissez votre nom</option>";
           

      $res_courriel_menu =   " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
               
      $rep_courriel_menu =  mysql_query($res_courriel_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
               
       
        echo '<option value="'.$affiche_contenu_courriel_menu['id_email'].'"';
                  //if($primes==$affiche_contenu_courriel_menu['fld_nom_email']){echo " selected";} // pour afficher la selectionne
                  echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'  - '.$affiche_contenu_courriel_menu['fld_adresse_email'].'</option>';
                 
                 
             
       

            }
        ?>
      </select>

mais je n'arrive pas sélectionné l'option qui est dans ma 2e table.

Tu dis "Une fois le select rempli, tu navigues dedans, tu changes ta sélection etc... en manipulant le DOM via Javascript et tu évites ainsi de solliciter tes serveurs (PHP+MySQL) pour rien."
Mais je ne sais pas comment je peux faire cette histoire : naviguer et manipuler le DOM et JavaScript...

Bonne soirée et merci encore

#12 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Bonjour les amis,
bonjour Jc, Maljuna Kris et Pierrot,

Mille merci pour vos commentaires et mille mercis pour le code de Jc... big_smile

Mais je n'arrive pas...

Alors ce que j'ai fait :

<?php
   $select_email='<select name="courriel_menu"/>';
$select_email .='<option value="00">---</option>';
$requete_courriel_menu=" SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id "
;
                     
$num_row = mysql_num_rows($requete_courriel_menu);   // LIGNE !!!! 158!!!!!!!!!!!!!
  if ($num_row){
 
     while($row = mysql_fetch_array($requete_courriel_menu)){

                $nom_email = $row['fld_nom_email'];

                $id_email = $row['fld_email_id'];

                if ($email_option_select==$id_email){$select_email .="<option value=\"$id_email\" selected=\"selected\">$nom_email</option>";}

                else {$select_email .="<option value=\"$id_email\">$nom_email</option>"; }

           }
      }

      $select_email .='</select>';

      echo $select_email;
      ?>

et voici le message d'erreur :

Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\inetpub\wwwroot\applications_web\apps_code_promotion\verification\edit.php on line 158

et dans mon menu déroulant : il y une seule option : ---

alors puisque je suis un clown, je vais changer mes envies :

Au lieu de faire un seul menu déroulant, puisque ça ne marchera jamais, je vais faire une "input type text" (avec readonly ou disabled="disabled") et un menu déroulant...
dans mon "input" je vais mettre l'enregistrement qui se trouve dans "table_db"

avec la requête suivante :

SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id

et dans le menu déroulant je vais afficher toutes les options qui sont dans la table "table_db_email"


avec la requête suivant :

select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email
 

Si on veut changer la valeur de input, il faut sélectionner la nouvelle valeur dans le menu déroulant... On va faire la mise à jour de bd...


Est-ce que je peux fermer cette discusion très comique en disant RESOULU ?:D

Bonne journée de la part de votre clown:D:lol:

#13 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Salut Jc, hmm
Ha bon, alors là, je suis triste puisque je suis un cl......
En fait, un menu déroulant affiche plusieurs options et une option sélectionnée, n'est-ce pas ?

Je suis capable d'afficher option sélectionnée dans mon menu parce que cette information se trouve bien dans la 1re table (alias td)
est ce que je peux aussi afficher les autres options (non sélectionnées) qui se trouve dans une autre table (qui est sous l'alias email) ? Comment je peux faire ?

#14 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Encore moi : Je vais expliquer autrement :

<select name="courriel_menu_new_cmpgn" id="courriel_menu_new_cmpgn" onchange="submit()">
      <?php

     
           //-------- affichage l'option selectionne du menu DONNÉE selectionnée vient de bd table table_db td ($table_db td )

      $req_courriel_menu =   " SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id "
;
               
      $rep_courriel_menu =  mysql_query($req_courriel_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
               
       
            echo '<option value="'.$affiche_contenu_courriel_menu['fld_nom_email'].'"';
                  if($emailss==$affiche_contenu_courriel_menu['fld_email_id']){echo " selected";} // pour afficher la selectionne si on change...
                  echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'</option>';
                 
            }
        ?>
    </select>

Alors, le code ci-dessus, voit le champ « fld_email_id » dans la table (alias) « td » et trouve le résultat ensuite compare la valeur du résultat dans la table  (alias) « email » et trouve sa correspondance dans le champ « fld_nom_email » et affiche ce nom dans le menu comme une option séléctionnée.
   
    Jusqu'au tout va bien...

voici mes 2 table

tb_code_prmtn11 (qui contient les informations sur les gens) c'est l'alias "td" dans le code
id_resultat
fld_email_id ( FOREIGN KEY (`fld_email_id`) REFERENCES `tb_code_prmtn11_email` (`id_email`) ON DELETE NO ACTION ON UPDATE CASCADE;)


tb_code_prmtn11_email (qui contient les emails de gens) son alias c'est "email"

fld_email_id
[b)]fld_nom_email[/b]

[font=Verdana]Ma question :
Après avoir affiché le nom de la personne dans mon menu comme l'option sélectionnée, comment  peux- je chercher tous les autres noms qui se trouve dans le champ "fld_nom_email" et les afficher comme les options non sélectionnées dans LE MÊME MENU?
[/font]

#15 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

Voici mon code en PHP qui contient aussi un peu de HTML et mySql, mais je vais fermer ce ticket si cela est un casse-tête pour vous...

<select name="courriel_menu_new_cmpgn" id="courriel_menu_new_cmpgn" onchange="submit()">
      <?php
      //-------- affichage du menu avec la selection selon id
            $res_courriel_select= "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id"
;
     
      $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;
     
      while($row=mysql_fetch_row($rep_courriel_select))
          {
           
           
           
            echo '<option selected=\"selected\" value="'.$row['fld_email_id'].'">'.$row['fld_nom_email'].'</option>';
          }
     
     
           //-------- affichage tous les autres options du menu

      $res_courriel_menu =   " select DISTINCT id_email, fld_nom_email, fld_adresse_email FROM $table_db_email ORDER BY fld_nom_email ";
               
      $rep_courriel_menu =  mysql_query($res_courriel_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
               
       
        echo '<option value="'.$affiche_contenu_courriel_menu['id_email'].'"';
                  if($primes==$affiche_contenu_courriel_menu['fld_nom_email']){echo " selected";} // pour re-afficher la selectionne si on change...
                  echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'</option>';
                 
                 
             
       

            }
        ?>
    </select>

#16 Re : MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

hummmm

j'avais deux mysql_query, alors qu'il ne le faut qu'une fois pour exécuter la requête


J'ai rectifié :

 $res_courriel_select= "SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                     FROM $table_db td
                     
                     INNER JOIN $table_db_email email
                     ON td.fld_email_id = email.id_email
     
                                 WHERE td.id_resultat=$id"
;
     
      $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;
     
      while($row=mysql_fetch_row($rep_courriel_select))

Ça marche... En fait mon menu contient tous les emails de ma table...

Par contre il n'y a pas une option (ni la bon option) a été sélectionnée...

et j'ai regardé le code source de la page sous FireFox , c'est vide :
exemple :

15--<select name="courriel_menu_new_cmpgn" id="courriel_menu_new_cmpgn" onchange="submit()">
      <option selected=\"selected\" value=""></option><option value="toto">toto@toto.com</option>

#17 MySQL, PostgreSQL, etc... » [Irresolvable] Warning: mysql_query() expects parameter 1 ..... » 01-07-2011 07:31:13

phpdos
Réponses : 37

Bonjour,

J’ai un bdd qui contient des tables et entre eux, il y a une relation...

tb_code_prmtn11 (qui contient les informations sur les gens)
id_resultat
fld_email_id ( FOREIGN KEY (`fld_email_id`) REFERENCES `tb_code_prmtn11_email` (`id_email`) ON DELETE NO ACTION ON UPDATE CASCADE;)


tb_code_prmtn11_email (qui contient les emails de gens)

fld_email_id
fld_nom_email



Alors, je vais afficher les emails dans un menu déroulant. Dans ce menu, il y a alors tous les courriels qui vient de la table "tb_code_prmtn11_email" mais je voudrais que quand on affiche les informations d'une personne

je veux que dans ce menu, son courriel soit automatiquement sélectionné parmi les autres options

Voici le message erreur :

Warning: mysql_query() expects parameter 1 to be string, resource given in C:\inetpub\wwwroot\applications_web\apps_code_promotion\verification\edit.php on line 53

Voic mon code :

<?php

  // pour tester si variable id contient un valeur (je le recupere par GET)
     echo $id;
   
?>--

// id toujours un valeur...

<select name="courriel_menu_" id="courriel_menu_"  class="valid" onchange="submit()">
      <?php
    // trouver le valeur du select qui se trouve dans 1er table et afficher l'email qui se trouve dans 2e table
            $res_courriel_select= mysql_query("SELECT td.id_resultat,td.fld_email_id,email.fld_nom_email
                   
       FROM $table_db td
                     
      INNER JOIN $table_db_email email
     
      ON td.fld_email_id = email.id_email
     
      WHERE td.id_resultat=$id"
);
     
  $rep_courriel_select =  mysql_query($res_courriel_select, $cnx) or die( mysql_error() ) ;  // LA LIGNE 53!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
      while($row=mysql_fetch_row($rep_courriel_select))
          {
           
           
           
            echo '<option selected=\"selected\" value="'.$row['fld_email_id'].'">'.$row['fld_nom_email'].'</option>';
          }
     
     
           
    // afficher les autres options
      $res_courriel_menu =   " select DISTINCT id_email, fld_nom_email FROM $table_db_email ORDER BY fld_nom_email ";
               
      $rep_courriel_menu =  mysql_query($res_courriel_menu, $cnx) or die( mysql_error() ) ;
     
     
     
            while($affiche_contenu_courriel_menu = mysql_fetch_assoc($rep_courriel_menu)) {
               
       
        echo '<option value="'.$affiche_contenu_courriel_menu['id_email'].'"';
                  if($primes==$affiche_contenu_courriel_menu['fld_nom_email']){echo " selected";} // pour afficher la selectionne si on le change
                  echo '>'.$affiche_contenu_courriel_menu['fld_nom_email'].'</option>';
                 
                 
             
       

            }
        ?>
    </select>

Alors mon menu est vide sad et j'ai une alerte:/ :
Warning: mysql_query() expects parameter 1 to be string, resource given in C:\inetpub\wwwroot\applications_web\apps_code_promotion\verification\edit.php on line 53

#18 Re : MySQL, PostgreSQL, etc... » les jointures (My)SQL requêtes sur plusieurs tables » 14-06-2011 14:10:00

C’est excellent, Un gros merci à vous, Pierrot, Jc et Maljuna Kris...

Ça marche avec le code suivant :

$req=  " select c.id_resultat,c.fld_pub_id,d.fld_pub_description,c.fld_pub_source_id,e.fld_source_description
      FROM $table_db c
      INNER JOIN $table_db_pub d
      ON c.fld_pub_id = d.fld_pub_id
      INNER JOIN $table_db_source e
      ON c.fld_pub_source_id = e.fld_id_source ";

Merci et bonne journée

c'est RESOLU:) big_smile

#19 MySQL, PostgreSQL, etc... » les jointures (My)SQL requêtes sur plusieurs tables » 14-06-2011 14:10:00

phpdos
Réponses : 5

Bonsoir,

J'ai deux table avec la relation...

dans ma table :
tb_code_prmtn11_pub

j'ai 3 champs :
ID
fld_pub_id
fld_pub_description


dans ma table
tb_code_prmtn11

id_resultat
fld_pub_id
((FOREIGN KEY (`fld_pub_id`) REFERENCES `tb_code_prmtn11_pub` (`fld_pub_id`) ON DELETE NO ACTION ON UPDATE CASCADE,))


alors, je fais une requête SQL :

$req=  " SELECT fld_pub_id,fld_pub_description
  FROM tb_code_prmtn11
  INNER JOIN tb_code_prmtn11_pub
  ON tb_code_prmtn11_pub.fld_pub_id = tb_code_prmtn11.fld_pub_id";

while($row=mysql_fetch_row($rep)){
$fld_pub_id=$row[0];
$fld_pub_description=$row[1];

echo " $fld_pub_id - $fld_pub_description";
}

voici le message d'erreur :
Column 'fld_pub_id' in field list is ambiguous:(

pourquoi ? vous avez des idées ?:rolleyes:

#20 Re : MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

merci Malihuna Kris pour tes aides, ton document et tes liens...

il faudrait utiliser InnoDB comme tu dis et  mettre les Foreign Key,  en Index

alors c'est Résolu...

#21 Re : MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

Je sais Maljuna Kris, ton document est pour SQLite et moi hmm j'utilise MySql:mad:

#22 Re : MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

Salut Maljuna Kris,

J'ai lu ton documents, bravo bon traduction...:)

Alors comment je peux faire tout cela dans le pratique?

J'ai fait un essai avec deux tables simple sous PhpMyAdmin dans mon bdd MySql...

Voici ce que j'ai fait :


j'ai créé ma première table, nom, qui contient 2 colonnes :id_nom et prenom

ma requête :

CREATE TABLE nom (id_nom INTEGER PRIMARY KEY,
prenom TEXT NOT NULL

);

ensuite 2e table, ecole, avec 3 colonnes :id_ecole (clé première), nom_prof et nom_etud. Ce derniere est une clé étrangère (foreign key) qui vient du colonne 'id_nom' de table nom

ma requête :

CREATE TABLE ecole (id_ecole   INTEGER PRIMARY KEY,
nom_prof TEXT NOT NULL,
nom_etud INTEGER  NOT NULL REFERENCES nom(id_nom)

)

PHPmyAdmin crée les tables sans erreur, mais on ne voit pas du tout le concept de foreign key même si dans ma requête, il y avait "REFERENCES nom(id_nom)"

Alors comment je peux créer une table avec foreign key dans PhpMyAdmin ?:(:rolleyes:

#23 Re : MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

Bonjour Maljuna Kris,

Alors, je suis désolé, mais que je dois faire ? Je ferme ce ticket ? Ou bien ... Surtout ton tuto (SQLPro, les jointures) vient aussi sur ce site...

En outre, merci pour le tuto, je vais lire et ensuite je vais voir...

Désolé encore

#24 Re : MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

Bonjour Maljuna Kris,

Merci pour ton lien qui a été écrit par une personne de Microsoft...

Moi j'utilise MySql parce que je suis un déboutant et je n'ai pas besoin d'une bdd performance et professionnelle.

voici un projet fictif :
J'ai un bd qui a 4 tables
table tb_marques contient 2 champs : id et chmps_marques
table tb_moteur contient 2 champs : id et chmps_moteur
table tb_annee contient 2 champs : id et chmps_annee
table tb_note contient 3 champs : id, chmps_id_note et chmps_notes


L’utilisateur affiche un formulaire avec 3 menus déroulants, "marques", "moteurs" et "année" dont les informations viennent de 3 différentes table et un champ de texte pour les notes.

Il sélectionne trois menus et il écrit ses notes dans le champ et valide le formulaire.

Je me demande si j'ai besoin d'un modèle de données relationnelles. Comment je fais la relation entre ces tables ? En fait, j'ai besoin de faire une relation entre les tables pour que j'affiche les résultats qui contient :
les notes, sur la marque, sur son moteur et sur l'année...

#25 MySQL, PostgreSQL, etc... » base de données relationnelle ou modèle de données relationnel » 13-06-2011 14:25:15

phpdos
Réponses : 11

Bonjour,

Je cherche des informations pratiques sur base de données relationnelle :
Les avantages et les inconvénients d'avoir une base de données relationnelle?
Est-ce que peut-on avoir une base de données relationnelle avec MySql? Est-ce qu’on peut la monter sous PhpMySql?
Comment peut-on la monter?

Est-ce que vous avez des liens sur cela pour un débutant avec des exemples ?

Je sais que je peux aussi chercher sur Google mais je n'ai pas trouvé un document complet, clair pour un débutant...

Merci votre compréhension à ma question générale...

Pied de page des forums

Propulsé par FluxBB