par
dembawarsall » 31 mars 2022, 19:21
Bonjour
J’ai un tableau dont chaque ligne est alimentée par les données d’une table sql (donc le tableau et la table sont presque identiques) via une requête SELECT. Maintenant à la fin de chaque ligne du tableau dans une dernière colonne j’y ai ajouté une case à cocher.
Mon tableau comporte les colonnes suivantes: date,numero_piece,libellé,nomero_compte,libelle,debt,credit,solde.
Je souhaite une fois que je coche une case située à la fin d’une ligne du tableau, récupérer la totalité de l’enregistrement contenu dans cette ligne et que chaque colonne soit récupérée dans une variable comme ceci :
Colonne1=>dans $cl1
Colonne2=>dans $cl2
Colonne3=>dans $cl3
etc…
J’ai passé toute une journée pour obtenir ce résultat sans succès, je n’ai été capable que d’extraire la totalité de chaque ligne cochée en un seul bloc, ce qui est diffèrent de ce que je cherche à faire.
Je demande de l’aide
Mon code pour l’affichage du tableau:
Code : Tout sélectionner
<?php
session_start();
?>
<html>
<body>
<?php
if ( isset( $_POST['choixbk'] ))
{
//connection a la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=doc_actools1','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<?php
//Recherche du numero d'ordre dans la table "f_synopt"
$req0 = $bdd->prepare('SELECT ordre FROM f_synopt WHERE denomination= :denomination');
$req0-> execute(array(
'denomination'=> $_SESSION['nom_projet'],
));
while ($donnees0 = $req0->fetch())
{
$numprjtbk = $donnees0['ordre'];
}
$req0->closeCursor();
?>
<form method='POST' action='blanc.php'>
<table border="1">
<tr>
echo "<th> Date</th>";
echo "<th> N° Piéce</th>";
echo "<th>Libellé</th>";
echo "<th> N° Cpte banque</th>";
echo "<th> Débit</th>";
echo "<th> Crédit</th>";
echo "<th> Solde</th>";
echo "<th> Prenom</th>";
echo "<th> Nom</th>";
echo "<th> Délégation</th>";
echo "<th> Localité</th>";
echo "<th> Nature</th>";
echo "<th> choix</th>";
</tr>
<?php
//Affichage des operations effectuées par le caissier
$req = $bdd->prepare('SELECT n1.idk,n1.num_prjtbk, n1.jourbk, n1.numero_piecebk, n1.categoriebk,n1.libellebk,n1.numcptebkassoc,n1.debitbk, n1.creditbk, n1.soldebk,n2.idbk1,n2.num_prjtbk1,n2.prenombk, n2.nombk, n2.delegationbk, n2.localitebk, n2.naturebk, n2.enre_comptabk
FROM brouillard_bank n1
LEFT JOIN brouillard_bank1 n2
ON n1.idk = n2.idbk1
WHERE num_prjtbk =:num_prjtbk AND num_prjtbk1 =:num_prjtbk1 AND delegationbk = :delegationbk AND localitebk = :localitebk AND enre_comptabk = :enre_comptabk AND direction = "E"');
$req-> execute(array(
'num_prjtbk'=> $numprjtbk,
'num_prjtbk1'=>$numprjtbk,
'delegationbk'=>$_SESSION['delegation'],
'localitebk'=>$_SESSION['localite'],
'enre_comptabk'=> 'N',
));
$x= 1;
while ($donneerbk= $req->fetch( ))
{
$x1=$x;
echo "<tr ALIGN=center>";
echo "<td>".$donneerbk['jourbk']."</td>";
echo "<td>".$donneerbk['numero_piecebk']."</td>";
echo "<td>".$donneerbk['libellebk']."</td>";
echo "<td>".$donneerbk['numcptebkassoc']."</td>";
echo "<td>".$donneerbk['debitbk']."</td>";
echo "<td>".$donneerbk['creditbk']."</td>";
echo "<td>".$donneerbk['soldebk']."</td>";
echo "<td>".$donneerbk['prenombk']."</td>";
echo "<td>".$donneerbk['nombk']."</td>";
echo "<td>".$donneerbk['delegationbk']."</td>";
echo "<td>".$donneerbk['localitebk']."</td>";
echo "<td>".$donneerbk['naturebk']."</td>";
echo"<td><input type='checkbox' name='choix[]' value='".$donneerbk['jourbk']."".$donneerbk['numero_piecebk']."".$donneerbk['libellebk']."' ></td>";
}
echo "</table>";
$req->closeCursor();
}
?>
</table>
<br><br></br>
<input type="submit" value="enregistrer" name="enregistrer">
</form>
</body>
<html>
La page qui exécute l’instruction lorsque une ou plusieurs lignes sont cochées :
Code : Tout sélectionner
<html>
<body>
<?php
if (isset($_POST['enregistrer']))
{
if ($_POST['choix'])
{
foreach ($_POST['choix'] as $choix)
{
echo "le choix est ; ". $choix.'<br><br/>';
}
}
}
?>
</body>
</html>
Bonjour
J’ai un tableau dont chaque ligne est alimentée par les données d’une table sql (donc le tableau et la table sont presque identiques) via une requête SELECT. Maintenant à la fin de chaque ligne du tableau dans une dernière colonne j’y ai ajouté une case à cocher.
Mon tableau comporte les colonnes suivantes: date,numero_piece,libellé,nomero_compte,libelle,debt,credit,solde.
Je souhaite une fois que je coche une case située à la fin d’une ligne du tableau, récupérer la totalité de l’enregistrement contenu dans cette ligne et que chaque colonne soit récupérée dans une variable comme ceci :
Colonne1=>dans $cl1
Colonne2=>dans $cl2
Colonne3=>dans $cl3
etc…
J’ai passé toute une journée pour obtenir ce résultat sans succès, je n’ai été capable que d’extraire la totalité de chaque ligne cochée en un seul bloc, ce qui est diffèrent de ce que je cherche à faire.
Je demande de l’aide
Mon code pour l’affichage du tableau:
[code]
<?php
session_start();
?>
<html>
<body>
<?php
if ( isset( $_POST['choixbk'] ))
{
//connection a la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=doc_actools1','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<?php
//Recherche du numero d'ordre dans la table "f_synopt"
$req0 = $bdd->prepare('SELECT ordre FROM f_synopt WHERE denomination= :denomination');
$req0-> execute(array(
'denomination'=> $_SESSION['nom_projet'],
));
while ($donnees0 = $req0->fetch())
{
$numprjtbk = $donnees0['ordre'];
}
$req0->closeCursor();
?>
<form method='POST' action='blanc.php'>
<table border="1">
<tr>
echo "<th> Date</th>";
echo "<th> N° Piéce</th>";
echo "<th>Libellé</th>";
echo "<th> N° Cpte banque</th>";
echo "<th> Débit</th>";
echo "<th> Crédit</th>";
echo "<th> Solde</th>";
echo "<th> Prenom</th>";
echo "<th> Nom</th>";
echo "<th> Délégation</th>";
echo "<th> Localité</th>";
echo "<th> Nature</th>";
echo "<th> choix</th>";
</tr>
<?php
//Affichage des operations effectuées par le caissier
$req = $bdd->prepare('SELECT n1.idk,n1.num_prjtbk, n1.jourbk, n1.numero_piecebk, n1.categoriebk,n1.libellebk,n1.numcptebkassoc,n1.debitbk, n1.creditbk, n1.soldebk,n2.idbk1,n2.num_prjtbk1,n2.prenombk, n2.nombk, n2.delegationbk, n2.localitebk, n2.naturebk, n2.enre_comptabk
FROM brouillard_bank n1
LEFT JOIN brouillard_bank1 n2
ON n1.idk = n2.idbk1
WHERE num_prjtbk =:num_prjtbk AND num_prjtbk1 =:num_prjtbk1 AND delegationbk = :delegationbk AND localitebk = :localitebk AND enre_comptabk = :enre_comptabk AND direction = "E"');
$req-> execute(array(
'num_prjtbk'=> $numprjtbk,
'num_prjtbk1'=>$numprjtbk,
'delegationbk'=>$_SESSION['delegation'],
'localitebk'=>$_SESSION['localite'],
'enre_comptabk'=> 'N',
));
$x= 1;
while ($donneerbk= $req->fetch( ))
{
$x1=$x;
echo "<tr ALIGN=center>";
echo "<td>".$donneerbk['jourbk']."</td>";
echo "<td>".$donneerbk['numero_piecebk']."</td>";
echo "<td>".$donneerbk['libellebk']."</td>";
echo "<td>".$donneerbk['numcptebkassoc']."</td>";
echo "<td>".$donneerbk['debitbk']."</td>";
echo "<td>".$donneerbk['creditbk']."</td>";
echo "<td>".$donneerbk['soldebk']."</td>";
echo "<td>".$donneerbk['prenombk']."</td>";
echo "<td>".$donneerbk['nombk']."</td>";
echo "<td>".$donneerbk['delegationbk']."</td>";
echo "<td>".$donneerbk['localitebk']."</td>";
echo "<td>".$donneerbk['naturebk']."</td>";
echo"<td><input type='checkbox' name='choix[]' value='".$donneerbk['jourbk']."".$donneerbk['numero_piecebk']."".$donneerbk['libellebk']."' ></td>";
}
echo "</table>";
$req->closeCursor();
}
?>
</table>
<br><br></br>
<input type="submit" value="enregistrer" name="enregistrer">
</form>
</body>
<html>
[/code]
La page qui exécute l’instruction lorsque une ou plusieurs lignes sont cochées :
[code]
<html>
<body>
<?php
if (isset($_POST['enregistrer']))
{
if ($_POST['choix'])
{
foreach ($_POST['choix'] as $choix)
{
echo "le choix est ; ". $choix.'<br><br/>';
}
}
}
?>
</body>
</html>
[/code]