Modifier un élément à partir de deux autres éléments

[Résolu]
Signaler
Messages postés
99
Date d'inscription
vendredi 20 janvier 2006
Statut
Membre
Dernière intervention
8 septembre 2009
-
Messages postés
34
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
26 mars 2006
-
j'ai repris l'exemple dans un livre php pour les débutants une méthode pour modifier un élément à partir de deux autres éléments
je veux modifier le nombre de postes a partir du batiment et du numéro de salle
voila en la table en MLD:
labo(IdentLabo, Nbre_de_postes, Batiment, NumSalle)

voila le code en vrac en php.merci de bien m'aider.

modificationsalle.php
<html>

<?php
$user= "root";
$host="Localhost";
$password="";
$database="gestion_laboratoire";

$connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
$db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
$take = "SELECT * FROM labo";
$resultat = mysql_query($take) or die ("Exécution de la requête impossible");

$tph = strip_tags(trim($_POST['Nbre_de_postes']));
$tph = ereg_replace("/[)( .-]","",$Nbre_de_postes);
$prénom = $_POST['Batiment'];
$nom = $_POST['NumSalle'];

// Controle des informations du formulaire

//Définition des étiquettes des variables $étiquettes array ("Batiment"> "Batiment", "NumSalle" => "NumSalle", "Nbre_de_postes" => "Nbre_de_postes");
foreach ($_POST as $clé => $valeur)
{
//Tester les champs vides
if ($valeur == "")
{
$champVide[$clé] = "blanc";
}
elseif (ereg("(Batiment)",$clé))
{
if(!ereg("^[A-Za-z' -]{1,50}$",$_POST[$clé]) )
{
$mauvaisFormat[$clé] = "mauvais";
}
}
elseif ($clé == "Nbre_de_postes")
{
if(!ereg("^[0-9)( -]{7,20}(([xX]|(ext)|(ex))?[ -]?[0-9]{1,7})?$",$valeur))
{
$mauvaisFormat[$clé] = "mauvais";
}
}
}
//En cas d'erreur, afficher un message et réafficher le formulaire
if (@sizeof($champVide) > 0 or @sizeof($mauvaisFormat) > 0)
{
if (@sizeof($champVide) > 0)
{
//Message signalant qu'il manque quelque chose
echo " Vous avez omis de remplir un ou plusieurs champs obligatoires. Vous devez saisir :
";
//Afficher la liste de valeurs absentes
foreach($champVide as $clé => $valeur)
{
echo "&nbsp;&nbsp;&nbsp;{$étiquettes[$clé]}
";
}
}
if (@sizeof($mauvaisFormat) > 0)
{
//Afficher un message signalant des informations invalides
echo "Un ou plusieurs champs contiennent une information incorrecte. Corrigez les champs :
";
//Afficher la liste des informations invalides
foreach($mauvaisFormat as $clé => $valeur)
{
echo "&nbsp;&nbsp;&nbsp;{$étiquettes[$clé]}
";
}
}
//Réafficher le formulaire
echo "<hr>
<form action='modificationsalle.php' method='POST'>
<center>
{$étiquettes['Batiment']}:,
,

----
{$étiquettes['NumSalle']}:,
,

----
{$étiquettes['Nbre_de_postes']}:,


</form>
</center>";
exit();
}
else // Si tout est OK
{
$user="root";
$host="Localhost";
$password="";
$database="gestion_laboratoire";

$connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
$db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
$req = "UPDATE labo SET Nbre_de_postes='$Nbre_de_postes' WHERE Batiment='$Batiment' AND NumSalle='$NumSalle'";
$result = mysql_query ($req) or die ("Impossible d'exécuter la requête" . mysql_error());
echo "Le nombre de cette salle a été modifiée
";
}
?>

</html>

1 réponse

Messages postés
34
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
26 mars 2006

Salut



alors d'apres ce que jai comprie tu veut modifier le nombre de
place dans la bdd selon le numero du batiment et du numero de salle

labo(IdentLabo, Nbre_de_postes, Batiment, NumSalle)



Alors comme ta fait du doit te connecter a la base apres tu fait ton select

alors je sais pas si ta deja une restriction a faire dans ton select ou
i tu recupere tout les enregistrement de ta table(dans ce cas apres tu
devra faire une boucle pour parcourir tout tes enregistrement et
verifier le batiment et la num de la classe que tu veut)

alors tu fait ton select

$requete = "select * from labo";

ou

$requete = "select * from labo where batiment='...' and NumSalle=...";

apres tu execute ta requete

$resultat = mysql_db_query("BDD", $requete, $maConnexion) or die ("echo
Erreur : ".mysql_error($maConnexion));

apres tu met le resultat dans un tableau et tu recupere tes valeur

$ligne =mysql_fetch_array($resultat);

$id=$ligne['batiment'];

apres une fois que ta recuperer ta valeur comme jtai di tout a lheure soi tu fait une boucle avec un while

while($row=mysql_fetch_array($resultat))

{

$batiment=$row['batiment'];

$salle=$row['salle'];



// la tu fait ta condition

exemple tu teste

if (($batiment 'A') && ($salle 1) )

{

$req = "UPDATE labo SET Nbre_de_postes='$Nbre_de_postes' WHERE Batiment='$Batiment' AND NumSalle='$NumSalle'";
$result = mysql_query ($req) or die ("Impossible d'exécuter la requête" . mysql_error());


}



voila je pense que tu devrai faire comme ca.

j'espere que sa va t'aider

++



,