farouk

Inscris le 26/01/2011 à 00:18
  • Signature
    devWeb
  • Nombre de sujets
    2
  • Nombre de messages
    8
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
farouk
Bonjour!
J'ai une classe avec deux méthodes qui font des insertions des requetes. Je voudrais recuperé l'id du premiere requete pour l'utiliser sur la 2eme méthode. J'ai declaré une variable globale pour assurer le relai mais cela ne semble pas marché merci de me donner votre avis ou bien de me dire ce qui ne marche pas.
<?php
class Modelsaisie
{
//attributs
public $table;
private $id=0;


//la function qui insert les données sur les tables
public function ajout($num,$fic,$dat,$cli)
{

$sql="INSERT INTO ".$this->table." VALUES ('$num','$fic','$dat','$cli')";
//on ecxecute la requete
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère le dernier numéro inséré
$this->id= mysql_insert_id();
echo $this->id.'<br />'; //je remarque la variable id recupere bien la donnée
}



//la méthode qui insert les données du sous formulaire sur les tables
public function sousformulaire($numl,$nomp,$qte,$pu,$tva)
{

$longueur=count($nomp);
for($i=0; $i<$longueur; $i++)
{

echo $this->id;
/* je voudrais affiché la variable id ici mais il recupere le 0 au lieu du valeur de l'id mysql.*/
}
}
?>
?>
devWeb
farouk
Bonjour l'équipe!
J'ai formulaire qui crée les champs input dynamiquement en js et je voudrais recuperé ses champs en php.
Ci-joint mon code:
<html>
<body onload="Create_Ligne(1)">
<form method="post">
<table id="fact-tablee" style="width:507px;margin-top:10px;" cellpadding="0" cellspacing="0">
<tr>
<th class="corn-fact-t-l"></th>
<th style="width:166px;">DESIGNATION</th>
<th style="width:58px;">Qt&eacute;</th>
<th style="width:82px;">P.U.</th>
<th style="width:38px;">TVA</th>
<th style="width:60px;">PRIX HT</th>
<th style="width:59px;">PRIX TTC</th>
<th style="width:30px;"></th>
<th> </th>
</tr>


</table>
<table>
<tr>
<th><input type="button" onclick="Create_Ligne(1)" value="Ajouter ligne" /></th>
<th><input type="submit" onclick="Enregistrer()" value="Enregister" /> </th>
</tr>


</form>

<script langage="javascript">

//--traitement de données je doit recuperé les variable à ceniveau pour envoyer en php------
function Enregistrer(){

var i=0,
qtes,
pus,
designs,
Qte;

//-- tant que l'objet existe
qtes=document.getElementsByName('qte[]');
for(i; i< qtes.length; i++)
{
Qte = parseInt( qtes[i].value);
pus = parseFloat( document.getElementsByName('pu[]')[i].value);
designs=document.getElementsByName('designation[]')[i].value;
alert(designs);
}

}

<!-- fin -->


//----Supprimer un ligne-----//
var Compteur = 0;
//--------------------------
function Delete_Ligne( obj_){
var Parent;
var Obj = obj_;
if( Obj){
//-- tant que pas la balise <TR>
do{
Obj = Obj.parentNode;
}while( Obj.tagName != "TR")
//-- Recup du parent
Parent = Obj.parentNode;
//-- Suppression de la ligne
if( Parent){
Parent.deleteRow( Obj.rowIndex)
}
}
}
//---------Creér un ligne-------------//
function Create_Ligne(i){
//-- compteur pour le FUN

//-- Get objet tableau
var O_Table = document.getElementById('fact-tablee');
//-- Get nombre de ligne du tableau
var NbrLigne = O_Table.rows.length;
//-- Position d'insertion
var Pos = NbrLigne;

var ligne_a_creer= i;
var j;
for(j=0; j<ligne_a_creer; j++){
Compteur++;
//-- Insertion d'une ligne
O_Row = O_Table.insertRow( Pos);
//-- Insertion des cellules
O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="fact-b-l"></div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div align="center"><input type="text" name="designation[]" class="inp-design" value="designation n°' +Compteur +'"/></div><div class="separateur">&nbsp;</div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;"><input type="text" name="qte[]" class="inp-qte" onKeyUp="Calcul()"/></div><div class="separateur">&nbsp;</div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;"><input type="text" name="pu[]" class="inp-pu" onKeyUp="Calcul()"/></div><div class="separateur">&nbsp;</div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"><input type="text" style name="tva[]" class="totaux" class="inp-pu" onKeyUp="Calcul()"/> </div><div class="separateur">&nbsp;</div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"><input type="text" style name="montant[]" class="totaux" class="inp-pu" onKeyUp="Calcul()"/> &euro;</div><div class="separateur">&nbsp;</div>';

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"><input type="text" style name="ttc[]" class="totaux" class="inp-pu" onKeyUp="Calcul()"/> &euro; </div><div class="separateur">&nbsp;</div>';

if(NbrLigne==1){
O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"> </div><div class="separateur">&nbsp;</div>';
}
else{
O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="border" style="text-align:center;height:18px;"><input type="image" src="images/cross.png" onClick="Delete_Ligne(this)" /></div><div class="separateur">&nbsp;</div>';
}

O_Cell = O_Row.insertCell(-1);
O_Cell.innerHTML = '<div class="fact-b-r"></div>';

}

}
</script>
</body>
</html>
devWeb

Ses derniers messages sur les forums

forum
farouk
Salut l'équipe!
J'ai réussit à regler mon probleme et merci à vous tous. Au fait il fallait que je recupere ma var au niveau du fichier index où j'instancie mes objets et ensuite la retransmettre en POST vers la 2eme fonction et ça marche nikel.
Je vous aime tous smiley
devWeb
farouk
voila la classe en entier:
<?php  class Modelsaisie
{
//attributs
public $table;
private $id=0;
//la méthode qui insert les données sur les tables
public function ajout($num,$fic,$dat,$cli)
{

$sql="INSERT INTO ".$this->table." VALUES ('$num','$fic','$dat','$cli')";
//on ecxecute la requete
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère le dernier numéro inséré
$this->id= mysql_insert_id();
echo $this->id.'<br />';
}


//la méthode qui insert les données du sous formulaire sur les tables
public function sousformulaire($numl,$nomp,$qte,$pu,$tva)
{

$longueur=count($nomp);
for($i=0; $i<$longueur; $i++)
{
echo $this->id;
}
}
//Une calsse qui permet d'instancier les objets
static function chargement($name)
{
require("$name.php");
return new $name();
}
}
?>

Ensuite on a cette classe
<?php
class ClassFacture extends Modelsaisie
{
var $table='facture';
}
?>


A la fin sur ma page index j'aurai bien cela
$facture=Modelsaisie::chargement(ClassFacture);
devWeb
farouk
Oui effectivement mysql_insert_id() recupere l'id qu'on vient d'inserer j'ai fait un echo et il affiche bien l'id. Maintenant je voudrais l'affecté à la variable private $id pour la reutilisé sur l'autre fonction en dessous, mais quand je teste la variable sur la 2eme fonction ça donne rien
echo $this->id
je me rend comte la variable n'est pas transmise.
Merci
devWeb

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours