Recuperation de deux ID

Résolu/Fermé
Albatrooss - Modifié par jordane45 le 17/03/2015 à 16:35
 Albatrooss - 17 mars 2015 à 17:03
Bonjour,
la communauté, j'ai un pti souci avec mon code
Ma première page m'affiche tous mes enregistrement, j'utilise dW8
<?php require_once('../Connections/gesco1.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];

mysql_select_db($database_gesco1, $gesco1);
$query_RsPlaignant = "SELECT max(N_REGISTRE) N_Registre, plaignant.N_PLAIGNANT, plaignant.TYPE_PLAIGNANT FROM registre, plaignant WHERE N_COMMISSARIAT=29 and DATE_CLOTURE IS NULL";
$RsPlaignant = mysql_query($query_RsPlaignant, $gesco1) or die(mysql_error());
$row_RsPlaignant = mysql_fetch_assoc($RsPlaignant);
$totalRows_RsPlaignant = mysql_num_rows($RsPlaignant);

mysql_select_db($database_gesco1, $gesco1);
$query_RsRegistre = "select max(N_Registre) Nbre from registre where N_COMMISSARIAT=29 and DATE_CLOTURE IS NULL";
$RsRegistre = mysql_query($query_RsRegistre, $gesco1) or die(mysql_error());
$row_RsRegistre = mysql_fetch_assoc($RsRegistre);
$totalRows_RsRegistre = mysql_num_rows($RsRegistre);

$queryString_RsPlaignant = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RsPlaignant") == false && 
        stristr($param, "totalRows_RsPlaignant") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RsPlaignant = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RsPlaignant = sprintf("&totalRows_RsPlaignant=%d%s", $totalRows_RsPlaignant, $queryString_RsPlaignant);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<table border="1">
  <tr>
    <td width="162">N_Registre</td>
    <td width="202">N_PLAIGNANT</td>
    <td width="228">TYPE_PLAIGNANT</td>
    <td width="108">Recuperer les N° </td>
  </tr>
  <?php do { ?>
    <tr>
      <td><?php echo $row_RsPlaignant['N_Registre']; ?></td>
      <td><?php echo $row_RsPlaignant['N_PLAIGNANT']; ?></td>
      <td><?php echo $row_RsPlaignant['TYPE_PLAIGNANT']; ?></td>
      <td><div align="center"><strong><a href="plainte.php?N_PLAIGNANT=<?php echo $row_RsPlaignant['N_PLAIGNANT']; ?> " target="_parent">SELECT</a></strong></div></td>
    </tr>
    <?php } while ($row_RsPlaignant = mysql_fetch_assoc($RsPlaignant)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($RsPlaignant);

mysql_free_result($RsRegistre);
?>

Sur ce code j'ai pas de souci, le Problème c'est que j'ai crée un autre formulaire (plainte.php) dans lequel je dois recuperer N_registre et N_plaignant, je recupère N_plaignant mais pas N_registre voici mon code:*
plainte.php:
<?php require_once('../Connections/gesco1.php'); ?>
<?php
mysql_select_db($database_gesco1, $gesco1);
$query_Rstype_plainte = "SELECT type_de_plaintes.N_TYPE_DE_PLAINTES FROM type_de_plaintes  ";
$Rstype_plainte = mysql_query($query_Rstype_plainte, $gesco1) or die(mysql_error());
$row_Rstype_plainte = mysql_fetch_assoc($Rstype_plainte);
$totalRows_Rstype_plainte = mysql_num_rows($Rstype_plainte);

mysql_select_db($database_gesco1, $gesco1);
$query_Rsregistre = "select max(N_REGISTRE) N_Registre from registre where N_COMMISSARIAT=29 and DATE_CLOTURE IS NULL";
$Rsregistre = mysql_query($query_Rsregistre, $gesco1) or die(mysql_error());
$row_Rsregistre = mysql_fetch_assoc($Rsregistre);
$totalRows_Rsregistre = mysql_num_rows($Rsregistre);
?>
 
 <div align="center">
  <form name="form1" method="post" action="insert_plainte.php">
 
<?php
            $cod=$_GET["N_Registre"];
    include("gesco.php");
     
 //requête SQL:
$resultat=mysql_query("select max(N_REGISTRE) N_Registre from registre 
                       where N_COMMISSARIAT=29 and DATE_CLOTURE IS NULL
                       AND N_REGISTRE = $cod");

if($enreg=mysql_fetch_array($resultat));
    {
 $numreg=$enreg[0];
    }
            ?>
<?php
            $code=$_GET["N_PLAIGNANT"];
      include("gesco.php");
     
 //requête SQL:
$result=mysql_query("SELECT plaignant.N_PLAIGNANT, registre.N_REGISTRE, plaignant.TYPE_PLAIGNANT
                     FROM plaignant, registre
                     WHERE N_PLAIGNANT = $code");

if($enreg=mysql_fetch_array($result));
    {
 $numplai=$enreg[0];
    }
            ?>
<table width="504" height="253" border="1">
      <tr>
        <th width="201" scope="col">N° Registre </th>
        <th width="287" scope="col"><input type="text"  readonly="readonly" id="N_REGISTRE"  name="N_REGISTRE"  
                               value="<?php echo $numreg ; ?>" size=8></th>
      </tr>
      <tr>
        <th scope="row">N° Plaignant </th>
        <td> <div align="center">
          <input type="text"  readonly="readonly" id="N_PLAIGNANT"  name="N_PLAIGNANT"  
                               value="<?php echo $numplai ; ?>" size=8></th>
        </div></td>
      </tr>
      <tr>
        <th scope="row">Type de Plainte </th>
        <td><div align="center">
          <select name="selecttyp">
            <?php
do {  
?>
            <option value="<?php echo $row_Rstype_plainte['N_TYPE_DE_PLAINTES']?>"<?php if (!(strcmp($row_Rstype_plainte['N_TYPE_DE_PLAINTES'], $row_Rstype_plainte['N_TYPE_DE_PLAINTES']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Rstype_plainte['N_TYPE_DE_PLAINTES']?></option>
            <?php
} while ($row_Rstype_plainte = mysql_fetch_assoc($Rstype_plainte));
  $rows = mysql_num_rows($Rstype_plainte);
  if($rows > 0) {
      mysql_data_seek($Rstype_plainte, 0);
   $row_Rstype_plainte = mysql_fetch_assoc($Rstype_plainte);
  }
?>
          </select>
          </div></td>
      </tr>
      <tr>
        <th scope="row">Libellé de la Plainte </th>
        <td><div align="center">
          <textarea name="textarealibellplainte"></textarea>
        </div></td>
      </tr>
      <tr>
        <th scope="row">Réference</th>
        <td><div align="center">
          <input type="text" name="textref" size=18>
        </div></td>
      </tr>
      <tr>
        <th scope="row">Date de la Plainte </th>
        <td><div align="center">
          <select name="jour">
            <option value="01">1</option>
            <option value="02">2</option>
            <option value="03">3</option>
            <option value="04">4</option>
            <option value="05">5</option>
            <option value="06">6</option>
            <option value="07">7</option>
            <option value="08">8</option>
            <option value="09">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
   <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
            <option value="30">30</option>
            <option value="31">31</option>
          </select>
          <select name="mois">
            <option value="01">Janvier</option>
            <option value="02">Février</option>
            <option value="03">Mars</option>
            <option value="04">Avril</option>
            <option value="05">Mai</option>
            <option value="06">Juin</option>
            <option value="07">Juillet</option>
            <option value="08">Août</option>
            <option value="09">Septembre</option>
            <option value="10">Octobre</option>
            <option value="11">Novembre</option>
            <option value="12">Décembre</option>
          </select>
          <select name="annee">
            <option value="1960">1960</option>
            <option value="1961">1961</option>
            <option value="1962">1962</option>
            <option value="1963">1963</option>
            <option value="1964">1964</option>
            <option value="1965">1965</option>
            <option value="1966">1966</option>
            <option value="1967">1967</option>
            <option value="1968">1968</option>
            <option value="1969">1969</option>
            <option value="1970">1970</option>
            <option value="1971">1971</option>
            <option value="1972">1972</option>
            <option value="1973">1973</option>
            <option value="1974">1974</option>
            <option value="1975">1975</option>
            <option value="1976">1976</option>
            <option value="1977">1977</option>
            <option value="1978">1978</option>
            <option value="1979">1979</option>
            <option value="1980">1980</option>
            <option value="1981">1981</option>
            <option value="1982">1982</option>
            <option value="1983">1983</option>
            <option value="1984">1984</option>
            <option value="1985">1985</option>
            <option value="1986">1986</option>
            <option value="1987">1987</option>
            <option value="1988">1988</option>
            <option value="1989">1989</option>
            <option value="1990">1990</option>
            <option value="1991">1991</option>
            <option value="1992">1992</option>
            <option value="1993">1993</option>
            <option value="1994">1994</option>
            <option value="1995">1995</option>
            <option value="1996">1996</option>
            <option value="1997">1997</option>
            <option value="1998">1998</option>
            <option value="1999">1999</option>
            <option value="2000">2000</option>
            <option value="2001">2001</option>
            <option value="2002">2002</option>
            <option value="2003">2003</option>
            <option value="2004">2004</option>
            <option value="2005">2005</option>
            <option value="2006">2006</option>
            <option value="2007">2007</option>
            <option value="2008">2008</option>
            <option value="2009">2009</option>
            <option value="2010">2010</option>
            <option value="2011">2011</option>
            <option value="2012">2012</option>
            <option value="2013">2013</option>
            <option value="2014">2014</option>
            <option value="2015">2015</option>
            <option value="2016">2016</option>
            <option value="2017">2017</option>
            <option value="2018">2018</option>
            <option value="2019">2019</option>
            <option value="2020">2020</option>
            <option value="2021">2021</option>
            <option value="2022">2022</option>
            <option value="2023">2023</option>
            <option value="2024">2024</option>
            <option value="2025">2025</option>
          </select>
        </div></td>
      </tr>
      <tr>
        <th scope="row">Suite Réservée </th>
        <td><div align="center">
          <input type="text" name="textsuit">
        </div></td>
      </tr>
      <tr>
        <th scope="row">Niveau de Suivi </th>
        <td><div align="center">
          <select name="selectnivsuivi">
    <option value="En cours">En cours</option>
    <option value="En attente">En attente</option>
          <option value="Suspendue">Suspendue</option>
    <option value="Reprise">Reprise</option>
    <option value="Terminée">Terminée</option>
          </select>
          </div></td>
      </tr>
      <tr>
        <th scope="row">Details Plainte </th>
        <td><div align="center">
          <textarea name="textareadetailspl"></textarea>
        </div></td>
      </tr>
      <tr>
        <th colspan="2" scope="row"><input type="submit" name="Submit" value="Enregistrer la Plainte"></th>
      </tr>
    </table>
 
  </form>
</div>
<?php
mysql_free_result($Rstype_plainte);

mysql_free_result($Rsregistre);
?>

J'espère quelqu'un pourra m'illuminer par mis vous !


EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
Modifié par Thorak83 le 17/03/2015 à 16:53
Bonjour,
Alors tout d'abord il faut transmettre les variables dans le lien href comme ceci:
<a href="plainte.php?N_PLAIGNANT=<?php echo $row_RsPlaignant['N_PLAIGNANT']; ?>&N_Registre=<?php echo $row_RsPlaignant['N_Registre']; ?>&TYPE_PLAIGNANT=<?php echo $row_RsPlaignant['TYPE_PLAIGNANT']; ?>" target="_parent">


puis dans le fichier plainte.php ajouter au début :
$plaignant = $_GET["N_PLAIGNANT"]; 
$registre = $_GET["N_Registre"]; 
$typeplaignant = $_GET["TYPE_PLAIGNANT"];

et enfin modifier la requête sql comme cela:
//requête SQL:
$result=mysql_query("SELECT plaignant.N_PLAIGNANT, registre.N_REGISTRE, plaignant.TYPE_PLAIGNANT
FROM plaignant, registre
WHERE N_PLAIGNANT = $plaignant AND N_Registre = $registre AND TYPE_PLAIGNANT = $typeplaignant");


Cordialement
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
17 mars 2015 à 16:42
Bonjour,
En plus de la réponse de Thorak
j'ajouterai :

Eviter d'utiliser l'extension Mysql_ et passer à Mysqli_ ou PDO
Explications ici : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Eviter de faire en HTML des <option> alors que tu pourrais les générer dans une boucle PHP
(ce qui réduit considérablement le nombre de lignes dans ton code et le rend donc plus lisible)
par exemple :
 <select name="annee">
 <?php
  for($i=1960;$i<=2025;$i++){
   echo "<option value='$i'>$i</option>";
  }
  ?>
</select>


et enfin...
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
17 mars 2015 à 16:51
oui bien sur jordane45.
aussi se prémunir de l'injonction SQL (avec un mysqli_real_escape_string par exemple). Mais tout étant fait avec Dreamweaver, je ne sais pas si Albatrooss à les compétences pour mettre les mains dans le cambouis. Le code générer par Dreamweaver est quand même mal fichu et brouillon.
0
Merci Messieurs , je prends note !!!!!!!!!!!!!!!
0