PHP|Débutant :: Forums

Advertisement

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

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

#1 30-03-2013 17:32:04

dannymix
Membre
Inscription : 30-03-2013
Messages : 18

Deux formulaires dans une seule ligne de données

Bonjour
J'ai un probleme que je compte sur votre aide precieuse, bref ! j'ai deux formulaire html/php que j'aimerai enregistrer dans une base de données, sur la même ligne (ID), mon souci c'est que quand j'envoie le premier formulaire, celui ci crée un ID et l'autre en crée un autre... pouvez m'aider à les enregistrer les deux formulaires sur la même ligne (ID) ? Merci deja de votre aide.

Hors ligne

#2 30-03-2013 18:40:22

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Deux formulaires dans une seule ligne de données

Saluton,
Tout cela est quand même bien peu précis.
Si une première requête INSERT crée une ligne dans la table de la base de données, l'autre requête doit être un UPDATE de la ligne dont on récupère l'ID avec LAST_UPDATE, par exemple, pour la mettre dans la clause WHERE.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 01-04-2013 14:23:40

dannymix
Membre
Inscription : 30-03-2013
Messages : 18

Re : Deux formulaires dans une seule ligne de données

Merci pour votre reponse Kris, Je vais essayer maintenant mais un petit exemple aurait pu être bien plus pratique.

Hors ligne

#4 01-04-2013 16:25:46

dannymix
Membre
Inscription : 30-03-2013
Messages : 18

Re : Deux formulaires dans une seule ligne de données

j'ai essayé mais mais j'ontiens une erreur sql, pouvez encore m'aider svp, voici mon code

<?php
  session_start();
// on se connecte a la base de donnees
include ('detais de connexion.php');
if (!isset($_SESSION['pseudo'])) {
      echo "cette Page n'est pas autorisee";
      return;
    }
// on reccupere Le bol dans la table
$query = "SELECT MAX(id) AS id FROM bol";
    $result = mysql_query($query) or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
    $val_id = mysql_fetch_array($result);
    $idlastbol = $val_id['id'];

// on rassemble les donnees pour la verification des informations dans le form 2
$descripto1 =$_POST["descripto1"];
$descripto2 =$_POST["descripto2"];
$descripto3 =$_POST["descripto3"];
$tpayment =$_POST["tpayment"];
$ttransac =$_POST["ttransac"];
$marck =$_POST["marck"];
$drtir =$_POST["drtir"];
$nopack =$_POST["nopack"];
$gross =$_POST["gross"];
$weight =$_POST["weight"];
$mesure =$_POST["mesure"];
$gnlri =$_POST["gnlri"];
$oceanfr =$_POST["oceanfr"];
$bolfl =$_POST["bolfl"];
$bcharge =$_POST["bcharge"];
$scharge =$_POST["scharge"];
$others =$_POST["others"];

// on enregistre dans la base
if (!empty($_POST))
{
$sql = mysql_query("UPDATE bol SET drtir = '$drtir',
numberofpackage = '$nopack',
marckandnumber = '$marck',
descriptionofpack = '$descripto1',
descriptionpack2 = '$descripto2',
descriptionpack3 = '$descripto3',
typetransaction = '$ttransac',
gross = '$gross',
weight = '$weight',
measurement = '$mesure',
generalrate = '$gnlri',
oceanfreight = '$oceanfr',
biloflading = '$bolfl',
bunkercharge = '$bcharge',
securitycharge = '$scharge',
otherscharges = '$others',
paymenttype = '$tpayment', WHERE id =$idlastbol;
");
}
//Si il y a une erreur ^^
if (!$sql)
{
die ( 'Erreur de requête : ' . mysql_error() );
}
//Si tout va bien
else
{
echo 'Les valeurs ont été ajoutée.';
    header ("location: bol.php");
}
die("impossible d'ecrire dans a base de donnees");
?>
Merci de votre aide, voici l'URREUR que Mysql m'a retourné : Erreur de requête : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id =$idlastbol' at line 17

Hors ligne

#5 01-04-2013 16:44:38

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Deux formulaires dans une seule ligne de données

L'erreur est provoquée par la virgule superfétatoire qui précède WHERE


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 01-04-2013 16:48:59

dannymix
Membre
Inscription : 30-03-2013
Messages : 18

Re : Deux formulaires dans une seule ligne de données

Merci beaucoup de votre aide, c'etait effectivement ca...

Hors ligne

Pied de page des forums