Php select * from ... where ... [Fermé]

Signaler
Messages postés
235
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
18 avril 2021
-
 andreaulo -
Bonjour,

Je souhaite en fait reprendre la valeur auto-incrémenté de id_guilde de la table guilde pour enregistrer sa valeur dans une autre table.

Je ne parviens pas à reprendre la valeur auto-incrémenté du dernier enregistrement. Que puis-je faire ?

code non coupé :
<?php
      if (isset ($_POST['c-guilde']))
        {
        $error_msg='';
        if ($id != $dnn['id_membre'])
          {
          $error_msg='<font color="#990000">Vous ne pouvez pas créer une guilde avec ce personnage !</font>';
        }
        else
          {
          if ($_POST['guilde'] == NULL OR $_POST['niveau'] == NULL OR $_POST['orientation'] == NULL OR $_POST['recrutement'] == NULL )
            {
            $error_msg='<font color="#ff0000">Les champs marqué d\'un <b>*</b> doivent être rempli correctement !</font><br /><a href="creer-guilde.php?id='.$dnn['id_personnage'].'"><font color="#000099">Retour à la création de la guilde</font></a>';
          }
          else
            {
            if ($_POST['recrutement'] == 'Ouvert')
              {
              if (is_numeric($_POST["n-requis"]) && ($_POST["n-requis"]>0 && $_POST["n-requis"]<201))
                {
                $n_requis=$_POST["n-requis"];
              }
              else
                {
                $n_requis='0';
              }
            }
            else
              {
              $n_requis='0';
            }
            $pre=htmlentities($_POST['presentation'], ENT_QUOTES, 'UTF-8');
            if ($pre != 'Faites une description de votre guilde')
              {
              $presentation=$pre;
            }
            else
              {
              $presentation='';
            }
            // On vérifie si le personnage est déjà membre ou meneur d'une guilde
            $req1 = mysql_query('select * from personnage where id_personnage="'.$_GET['id'].'"');;
            $data1 = mysql_fetch_array($req1);
            if ($data1['id_guilde'] != '0')
              {
              $error_msg='<font color="#990000"><b>Ce personnage est déjà membre ou meneur d\'une guilde !</b></font>';
            }
            else
              {
              if (is_numeric($_POST["niveau"]) && ($_POST["niveau"]>0 && $_POST["niveau"]<201))
                {
                $dn2 = mysql_query('select * from personnage where id_personnage="'.$_GET['id'].'"');
                $dnn2 = mysql_fetch_array($dn2);
                $guilde=htmlentities($_POST['guilde'], ENT_QUOTES, 'UTF-8');
                $serveur=$dnn2['serveur'];
                $niveau=$_POST["niveau"];
                $orientation=$_POST["orientation"];
                $date = date("d/m/Y");
                $perso=$_GET['id'];
                $recrutement=$_POST["recrutement"];
                $sql2 = "INSERT INTO guilde (id_meneur, guilde, serveur, lvl, orientation, recrutement, lvl_recrutement, presentation, date)
                VALUES ('".$perso."', '".$guilde."', '".$serveur."', '".$niveau."', '".$orientation."', '".$recrutement."', '".$n_requis."', '".$presentation."', '".$date."' )";
                if($sql2)  
                  {                           
                  $error_msg='<font color="#009900"><b>Félicitation ! La guilde '.$guilde.' est maintenant créée !</b></font>';  
                }  
                else  
                  {                           
                  $error_msg='erreur2';  
                }
                if ($error_msg!='erreur2')
                  {
                  $guilde=htmlentities($_POST['guilde'], ENT_QUOTES, 'UTF-8');
                  $serveur=$dnn2['serveur'];
                  $sql3=mysql_query('select * from guilde where guilde="'.$guilde.'" && serveur="'.$serveur.'"');
                  $dn3=mysql_fetch_array($sql3);
                  if($dn3)
                    {
                    $error_msg='<font color="#009900"><b>Upload OK!</b></font>';
                  }
                  else
                    {
                    $error_msg='erreur3';
                  }
                  if ($error_msg!='erreur3')
                    {
                    $id_guilde=$dn3['id_guilde'];
                    $rang_guilde='Meneur';
                    $valeur_guilde='1';
                    $xp_guilde='0';
                    $sql4="INSERT INTO personnage (id_guilde, rang_guilde, valeur_guilde, xp_guilde)
                    Values ('".$id_guilde."', '".$rang_guilde."', '".$valeur_guilde."', '".$xp_guilde."' )";
                    if ($sql4)
                      {
                      $error_msg='<font color="#000099">OK</font>';
                    }
                    else
                      {
                      $error_msg='4';
                    }
                  }
                  else
                    {
                    $error_msg='3';
                  }
                }
                else
                  {
                  $error_msg='2';
                }
              }
              else
                {
                $error_msg='<font color="#990000">Le niveau de la guilde doit obligatoirement être entre <b>1</b> et <b>200</b> !</font>';
              }
            }
          }
        }
?>


J'ai donc ceci d'affiché : 3

voir
if ($error_msg!='erreur2')
                  {
                  $guilde=htmlentities($_POST['guilde'], ENT_QUOTES, 'UTF-8');
                  $serveur=$dnn2['serveur'];
                  $sql3=mysql_query('select * from guilde where guilde="'.$guilde.'" && serveur="'.$serveur.'"');
                  $dn3=mysql_fetch_array($sql3);
                  if($dn3)
                    {
                    $error_msg='<font color="#009900"><b>Upload OK!</b></font>';
                  }
                  else
                    {
                    $error_msg='erreur3';
                  }
                  if ($error_msg!='erreur3')
                    {
                    $id_guilde=$dn3['id_guilde'];
                    $rang_guilde='Meneur';
                    $valeur_guilde='1';
                    $xp_guilde='0';
                    $sql4="INSERT INTO personnage (id_guilde, rang_guilde, valeur_guilde, xp_guilde)
                    Values ('".$id_guilde."', '".$rang_guilde."', '".$valeur_guilde."', '".$xp_guilde."' )";
                    if ($sql4)
                      {
                      $error_msg='<font color="#000099">OK</font>';
                    }
                    else
                      {
                      $error_msg='4';
                    }
                  }
                  else
                    {
                    $error_msg='3';
                  }

1 réponse

Bonjour,
ne confondez pas PHP (application faisant la liaison entre web et BDD) et la requête SQL.

>SQL:
SELECT MAX(id_guilde) FROM guilde;

vous donneras la valeur maximum de id_guilde donc la dernière si auto-incrément.

Vous avez aussi en php:
LAST_INSERT_ID()
http://php.net/manual/fr/function.mysql-insert-id.php
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
235
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
18 avril 2021
2
Bonjour,

La valeur que je reçois est "guilde numéro Array créée" ..

{
                  $sql3=mysql_query('select max(id_guilde) FROM guilde');
                  $dn3=mysql_fetch_array($sql3);
                  if($dn3)
                    {
                    echo 'guilde numéro '.$dn3.' créée';
                  }


Pourriez-vous me dire où se trouve l'erreur svp?

Merci
Salut, mysql_fetch_array vous renvoi un tableau (array) donc $dn3 est ce tableau.

Pour afficher le contenu de celui ci :
$dn3['id_guilde']