par
yann18 » 26 sept. 2017, 13:24
bonjour,
il faut indiquer à PDO, avec le paramètre
fetch_style , quel type de tableau sera renvoyé : tableau associatif, tableau indexé numériquement ... pour le moment tu appliques les 2 modes.
Code : Tout sélectionner
$requete = $connexionStagiaire->query('SELECT id, nom, prenom FROM ma_table');
$result = $requete->fetchAll( PDO::FETCH_ASSOC ); //tableau associatif indexé par les noms des colonnes
foreach($result as $key) {
$insert[] = implode(', ', array_values($key));
}
var_dump($insert);
juste une parenthèse tu peux t'en passer de la boucle en utilisant une fonction de callback:
Code : Tout sélectionner
$requete = $connexionStagiaire->query('SELECT id, nom, prenom FROM ma_table');
$result = $requete->fetchAll( PDO::FETCH_ASSOC ); //tableau associatif indexé par les noms des colonnes
$insert = array_map(function( $value ) use($result) {
return implode(', ', $value) ;
}, $result);
var_dump($insert);
Après si les données ne sont recuperées, sans besoin de les afficher, que dans le but de les insérer dans une autre table tu peux faire la requête INSERT/SELECT
Code : Tout sélectionner
INSERT INTO ma_nouvelle_table( id, nom, prenom )
SELECT id, prenom, nom FROM ma_table;
bonjour,
il faut indiquer à PDO, avec le paramètre [url=http://php.net/manual/fr/pdostatement.fetch.php]fetch_style[/url] , quel type de tableau sera renvoyé : tableau associatif, tableau indexé numériquement ... pour le moment tu appliques les 2 modes.
[code]
$requete = $connexionStagiaire->query('SELECT id, nom, prenom FROM ma_table');
$result = $requete->fetchAll( PDO::FETCH_ASSOC ); //tableau associatif indexé par les noms des colonnes
foreach($result as $key) {
$insert[] = implode(', ', array_values($key));
}
var_dump($insert);
[/code]
juste une parenthèse tu peux t'en passer de la boucle en utilisant une fonction de callback:
[code]
$requete = $connexionStagiaire->query('SELECT id, nom, prenom FROM ma_table');
$result = $requete->fetchAll( PDO::FETCH_ASSOC ); //tableau associatif indexé par les noms des colonnes
$insert = array_map(function( $value ) use($result) {
return implode(', ', $value) ;
}, $result);
var_dump($insert);
[/code]
Après si les données ne sont recuperées, sans besoin de les afficher, que dans le but de les insérer dans une autre table tu peux faire la requête INSERT/SELECT
[code]
INSERT INTO ma_nouvelle_table( id, nom, prenom )
SELECT id, prenom, nom FROM ma_table;
[/code]