Kazimir

  • Signature
    THE Kazzz
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    6
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Kazimir
le 03/03/2007 à 14:03
Variables dynamiques
alors, si comprend bien:
en faisant
$sql = "SELECT nom, prenoms FROM etat_civil WHERE id='".$ID_tem[0]."' OR id='".$ID_tem[1]."' OR id='".$ID_tem[2]."' OR id='".$ID_tem[3]."'";

il suffira de faire ensuite un truc genre:
$i = 1;
while($rep = mysql_fetch_array($sql)){
$nom_prenom[$i] = $rep['nom']." ".$rep['prenom'];
$i++;
}


avec ca, je n'envoi qu'une requete a mysql (au lieu de 4).
Et je suis sur que les infos contenues dans $nom_prenom1 correspondent bien a l'$id_tem[1] ?
THE Kazzz
Kazimir
le 03/03/2007 à 11:31
Variables dynamiques
ben, une boucle tout simplement parce que je dois absolument recuperer les 4 infos et les dispatcher dans les variables associées.

dans ta requete, ca le fait, mais je devrais ensuite faire un WHILE pour placer chaque enregistrement en variable.
donc ca revient au même.
THE Kazzz
Kazimir
le 02/03/2007 à 14:59
Variables dynamiques
je reviens a la charge.

Je pense avoir trouvé pas comment reduire le nombre de requete, mais juste optimiser le code.

Dites moi si ca peut marcher, vu que je connais pas grand chose, LOL

Remplacement de :
//extraction des infos du temoin1
if ($id_tem1 != "")
{
$tem1 = mysql_query("SELECT nom,prenoms FROM etat_civil WHERE id='$id_tem1'");
list($nom_tem1, $prenom_tem1) = mysql_fetch_row($tem1);
$temoin1 = $nom_tem1." ".$prenom_tem1;
$tem1 = "<a href="individu.php?id=$id_tem1" alt="fiche de $nom_tem1">$nom_tem1</a>";
}

//extraction des infos du temoin2
if ($id_tem2 != "")
{
$tem2 = mysql_query("SELECT nom,prenoms FROM etat_civil WHERE id='$id_tem2'");
list($nom_tem2, $prenom_tem2) = mysql_fetch_row($tem2);
$temoin2 = $nom_tem2." ".$prenom_tem2;
$tem2 = "<a href="individu.php?id=$id_tem2" alt="fiche de $nom_tem2">$nom_tem2</a>";
}

//extraction des infos du temoin3
if ($id_tem3 != "")
{
$tem3 = mysql_query("SELECT nom,prenoms FROM etat_civil WHERE id='$id_tem3'");
list($nom_tem3, $prenom_tem3) = mysql_fetch_row($tem3);
$temoin1 = $nom_tem3." ".$prenom_tem3;
$tem3 = "<a href="individu.php?id=$id_tem3" alt="fiche de $nom_tem3">$nom_tem3</a>";
}

//extraction des infos du temoin4
if ($id_tem4 != "")
{
$tem4 = mysql_query("SELECT nom,prenoms FROM etat_civil WHERE id='$id_tem4'");
list($nom_tem4, $prenom_tem4) = mysql_fetch_row($tem4);
$temoin4 = $nom_tem4." ".$prenom_tem4;
$tem4 = "<a href="individu.php?id=$id_tem4" alt="fiche de $nom_tem4">$nom_tem4</a>";
}

Par ceci:
$ID_tem = array($ID_tem1, $ID_tem2, $ID_tem3, $ID_tem4);

for ($i=0, $i<=3, $i++){
$tem[$i] = mysql_query("SELECT nom, prenoms FROM etat_civil WHERE id='$ID_tem[$i]'");
list($nom_tem[$i], $prenoms_tem[$i]) = mysql_fetch_row($tem[$i]);
}
THE Kazzz
Kazimir
le 02/03/2007 à 14:32
Variables dynamiques
mmmmmmmm, ca me fait penser a un truc:

J'ai 4 tables accueillants chacunes les infos de la personne.
Donc j'ai dans chaque table l'ID de l'individu.

Vu que je dois recuperer les infos des 4 tables, pour passer de 4 requetes a 1 seule, est-ce que j'ai le droit de faire ca:
remplacer
$result = mysql_query("select * from etat_civil WHERE id='$id'");	
$resulta = mysql_query("SELECT * FROM enfant WHERE id='$id'");
$resultat = mysql_query("SELECT * FROM divers WHERE id='$id'");
$resultats = mysql_query("SELECT * FROM vie WHERE id='$id'");

par ca:
$result = mysql_query("select * from etat_civil, vie, enfant, divers WHERE id='$id'");


j'ai bon ?

pour le LEFT JOIN, je regarde dans le FM que j'ai sur mysql, j'apprend et je repasse (ceci dit, ca a l'aire d'etre sur la bonne voie)

merci plein.
THE Kazzz
Kazimir
le 02/03/2007 à 00:36
Variables dynamiques
en fait, non, j'ai mis juste 2 champs pour l'exemple, dans mon script, je dois recupérer les valeurs contenues dans 6 champs de la table pour chaque $id_temX

le principe:
je fais un script de genealogie, donc pour une personne donnée, a son mariage peut avoir 4 temoins
pour cette personne, je nomme ses temoins par leur N° id stocké dans les champs id_tem1, id_tem2, id_tem3, id_tem4
connaissant maintenant les id des temoins, je dois aller chercher les infos en lancant une requete par id_temX

le tout en vu de remplir une fiche d'infos.

voila le complement de script (qui ressemble deja a ceux donnés):
$resultats = mysql_query("SELECT * FROM vie WHERE id='$id'");

list($id, $date_mar_civ, $lieu_mar_civ, $date_mar_rel, $lieu_mar_rel, $id_tem1, $id_tem2, $id_tem3, $id_tem4, $id_conjoint, $id_pere_conj, $age_pere_conj, $prof_pere_conj, $id_mere_conj, $age_mere_conj, $prof_pere_conj, $contrat, $notaire, $date_contrat, $lieu_contrat, $date_divorce, $tgi, $date_remarie, $id_conj2, $date_mort, $lieu_mort, $date_inhume, $lieu_inhume) = mysql_fetch_row($resultats); //28 variables

//recuperation desinfos de chaque temoin
$tem1 = mysql_query("SELECT * FROM table WHERE id='$id_tem1'");
list($n_tem1, $p_tem1, $m_t1, $t_t1) = mysql_fetch_array($tem1);

$tem2 = mysql_query("SELECT * FROM table WHERE id='$id_tem2'");
list($n_tem2, $p_tem2, $m_t2, $t_t2) = mysql_fetch_array($tem2);

$tem3 = mysql_query("SELECT * FROM table WHERE id='$id_tem3'");
list($n_tem3, $p_tem3, $m_t3, $t_t3) = mysql_fetch_array($tem3);

$tem4 = mysql_query("SELECT * FROM table WHERE id='$id_tem4'");
list($n_tem4, $p_tem4, $m_t4, $t_t4) = mysql_fetch_array($tem4);


wala, j'espere ne pas etre trop brouillon
THE Kazzz
Kazimir
le 01/03/2007 à 23:50
Variables dynamiques
Bonjour a tout le monde

je débute en php et je suis entrain de m'embrouiller les neurones avec une vilaine variable.
je dois recuperer des infos dans une db en me servant de 4 variables différentes.
ex:
$tem1 = mysql_query("SELECT * FROM table WHERE id='$id_tem1'");
list($n_tem1, $p_tem1) = mysql_fetch_array($tem1);

$tem2 = mysql_query("SELECT * FROM table WHERE id='$id_tem2'");
list($n_tem2, $p_tem2) = mysql_fetch_array($tem2);

$tem3 = mysql_query("SELECT * FROM table WHERE id='$id_tem3'");
list($n_tem3, $p_tem3) = mysql_fetch_array($tem3);

$tem4 = mysql_query("SELECT * FROM table WHERE id='$id_tem4'");
list($n_tem4, $p_tem4) = mysql_fetch_array($tem4);


je souhaite reduire le code sous forme de boucle FOR, mais j'arrive pas a visualiser la syntaxe.

please, somebody can help me ?
THE Kazzz
LoadingChargement en cours