Il y a 52 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Automatiser données à rentrer dans une requete

 
n°63130
Yellow-Sky
Posté le 19-01-2008 à 17:54:28  profilanswer
 

Bonjour, j'aimerais essayer d'automatiser les requetes sql.
 
En gros au lieu de faire cela:
$sq2="UPDATE cdc_tuyaux SET nom='$nom', prof='$prof', section='$section',lien='$lien',date='$date' WHERE id='$id'";
 
Faire
"UPDATE cdc_tuyaux SET tous les noms = toutes les variables WHERE id='$id'";
Sans devoir écrire toutes les noms = toutes les variables via un for par exemple, ce de façon automatique (lorsqu'il y aura beaucoup plus de variable)
 
Si j'ai un tableau qui contient tous les champs

Code :
  1. $champssql=array ("nom", "prof", "section", "lien", "date" );


un autre pour mes variables

Code :
  1. $champsvar=array ($nom, $prof, $section, $lien, $date);


Cela est ce possible?
 
Suis-je clair?


---------------
" La théorie c'est quand on sait tout et que rien ne fonctionne,  
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. "  
[Albert Einstein]
n°63131
Ashe
reenignE esreveR
Posté le 19-01-2008 à 18:21:41  profilanswer
 

Dans les grandes lignes (pas le courage):

 

$types = '';
$updates = '';

 

boucle_sur_tes_champs
{
    $types .= 's';
    if (!premier)
        $updates .= ', ';
    $updates = $nom_du_champs . ' = ?';
}

 

$query = 'UPDATE table SET ' . $updates . ' WHERE id = ?';
$types .= 'i'; // pour l'id

 

$stmt = $db->prepare( $query );
$args = Array(&$stmt,$types);

 

boucle_sur_tes_valeurs
    $args[] = $valeur_du_champs;

 

call_user_func_array( 'mysqli_stmt_bind_param', $args );
$stmt->execute();



Message édité par Ashe le 19-01-2008 à 18:22:21

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe

Aller à :
Ajouter une réponse