Accueil > Forum > > > > creation de table en PHP
creation de table en PHP
vendredi 29 juin 2007 à 15:00:11 |
creation de table en PHP

chapata
|
Hello ,
je cherche à créer un table MySQL à l'identique de ma table ODBC mais je butte sur ma boucle ...
if (odbc_execute(
$req
)) { for (
$i
=
1
;
$i
<= odbc_num_fields(
$req
);
$i
++) {
$champ
= odbc_field_name(
$req
,
$i
);
$format
= odbc_field_type(
$req
,
$i
);
$len
= odbc_field_precision(
$req
,
$i
);
}
$sql_create1
=
'CREATE TABLE `'
.
$db
.
'`.`'
.
$odbc_table
.
'` ('
;
$sql_create2
=
'`'
.
$champ
[
$i
].
'` '
.
$format
[
$i
].
'( '
.
$len
[
$i
].
' ) NOT NULL default '
;
$sql_create3
=
') ENGINE = MYISAM DEFAULT CHARSET = latin1'
;$q = mysql_query($sql_create1.$sql_create2.$sql_create3);
etc ....
Mais je ne sais pas comment placer mes $sql_create ... pour que cela fonctionne Bien, sur mes connections ODBC et MYSQL sont ouvertes ...
Si une ame charitable est présente ...
ChaPaTa  
|
|
vendredi 29 juin 2007 à 16:30:15 |
Re : creation de table en PHP

coucou747
|
Salut pour savoir quelle est ton erreur, ajoute or die(mysql_error()); apres mysql_query() (mais avant le ;) ensuite, donne nous l'erreur, ca sera alors plus simple de t'aider une recherche sur exalead vous aurait peut-etre evite de poser cette questionIn a dream, I saw me, drop dead... U were there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
|
|
samedi 30 juin 2007 à 13:42:19 |
Re : creation de table en PHP

chapata
|
Salut,
voici le code de ma fonction :
function odbc_create_table($conn, $odbc_table) { $d = mysql_query('DROP TABLE IF EXISTS '.$odbc_table.''); if (!$d) { echo mysql_error(); echo 'impossible de supprimer la table'.$odbc_table; exit; } $sql = 'select * from '.$odbc_table.' order by 1,2,3 '; $req = odbc_prepare($conn, $sql); if(!$req) die('Impossible de charger la table : '.$odbc_table); if(odbc_execute($req)) { $debut = true; for ($i = 1; $i <= odbc_num_fields($req); $i++) { $champ = odbc_field_name($req, $i); $format = odbc_field_type($req, $i); $len = odbc_field_precision($req, $i); if ($debut = true) { if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = "`$champ` $format( $len ) NOT NULL default "; }else{ $sql2 = '`'.$champ.'` '.$format.' NOT NULL default '; } $debut = false; }elseif ($debut = false){ if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = $sql2.", `$champ` $format ( $len ) NOT NULL default "; }else{ $sql2 .= $sql_create2.', `'.$champ.'` '.$format.' NOT NULL default '; } } } $sql1 = "CREATE TABLE `database`.`$odbc_table` ("; $sql3 = ')';// ENGINE = MYISAM DEFAULT CHARSET = latin1'; echo $sql1.$sql2.$sql3; $do_create = mysql_query($sql1.$sql2.$sql3); if (!$do_create) { echo mysql_error(); echo 'impossible de creer la table '.$odbc_table; exit; } } echo '<script language="javascript">document.location.href=\''.$_SERVER['PHP_SELF'].'\';</script>'; }
mais, je butte, j'ai des erreurs ...
je veux qu'à chaque champs de ma table ODBC, il le crée en format MySQL, j'ai donc vérifier avec $debut, que c'est bien le premier champ de la table sinon, il concatène avec le . la varaible $sql2
Je regarde aussi le format du champ, car MysQL ne supporte pas "CHAR" alors j'ai mis VARCHAR et suivant, si c'est un VARCHAR ou non, il ajoute la précesion ($len)
apres mon objectif, c'est d'ajouter toute les valeurs de la table, mais, je dois d'abord parer ce problème.
ChaPaTa
|
|
samedi 30 juin 2007 à 14:17:15 |
Re : creation de table en PHP

chapata
|
Oups,
je remet mon code sans erreur :
function odbc_create_table($conn, $odbc_table) {
//supprime la table importeée si elle existe déjà $d = mysql_query('DROP TABLE IF EXISTS '.$odbc_table.''); if (!$d) { echo mysql_error(); echo 'impossible de supprimer la table'.$odbc_table; exit; } //requete selection de la table odbc $sql = 'select * from '.$odbc_table.' order by 1,2,3 '; $req = odbc_prepare($conn, $sql); if(!$req) die('Impossible de charger la table : '.$odbc_table); if(odbc_execute($req)) { //debut = true $debut = true; // pour chaque champ de la table ODBC for ($i = 1; $i <= odbc_num_fields($req); $i++) { $champ = odbc_field_name($req, $i); $format = odbc_field_type($req, $i); $len = odbc_field_precision($req, $i); //si premier champ = true if ($debut = true) { // si le format est CHAR alors le passe en VARCHAR if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = '`'.$champ.'` '.$format.' ( '.$len.' ) NOT NULL default '; }else{ $sql2 = '`'.$champ.'` '.$format.' NOT NULL default '; } //fin du premier champ $debut = false; //sinon si debut = faux ... }elseif ($debut = false){ // meme opération pour le formatage du champ if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = $sql2.', `'.$champ.'` '.$format.' ( '.$len.' ) NOT NULL default '; }else{ $sql2 = $sql2.', `'.$champ.'` '.$format.' NOT NULL default '; } } } $sql1 = "CREATE TABLE `mabase`.`$odbc_table` ("; $sql3 = ')';// ENGINE = MYISAM DEFAULT CHARSET = latin1'; echo $sql1.$sql2.$sql3; $do_create = mysql_query($sql1.$sql2.$sql3); if (!$do_create) { echo mysql_error(); echo 'impossible de creer la table '.$odbc_table; exit; } } echo '<script language="javascript">document.location.href=\''.$_SERVER['PHP_SELF'].'\';</script>'; }
ChaPaTa
|
|
samedi 30 juin 2007 à 14:25:46 |
Re : creation de table en PHP

coucou747
|
Salut et comme erreurs, ca renvoi quoi ??? (c'est quand meme le truc qui nous dit ce que ton code ne fait pas de bon...) une recherche sur exalead vous aurait peut-etre evite de poser cette questionIn a dream, I saw me, drop dead... U were there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
|
|
dimanche 1 juillet 2007 à 10:44:01 |
Re : creation de table en PHP

chapata
|
Salut,
l'erreur est au niveau de la syntaxe SQL
1 - il ne me converti pas le "CHAR" en VARCHAR 2 - il ne me concatène pas $sql2= $sql2. etc... (j'ai donc uniquement le dernier champ de ma table ODBC et non tous les champs
Je fait un echo pour voir mon $do_create ..... je fais $do_create = mysql_query($sql1.$sql2.$sql3); mais impossible de créer la table.
L'erreur doit venir de ma boucle :
// pour chaque champ de la table ODBC for ($i = 1; $i <= odbc_num_fields($req); $i++) { $champ = odbc_field_name($req, $i); $format = odbc_field_type($req, $i); $len = odbc_field_precision($req, $i); //si premier champ = true if ($debut = true) { // si le format est CHAR alors le passe en VARCHAR if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = '`'.$champ.'` '.$format.' ( '.$len.' ) NOT NULL default '; }else{ $sql2 = '`'.$champ.'` '.$format.' NOT NULL default '; } //fin du premier champ $debut = false; //sinon si debut = faux ... }elseif ($debut = false){ // meme opération pour le formatage du champ if ($format = "CHAR") { $format = "VARCHAR"; $sql2 = $sql2.', `'.$champ.'` '.$format.' ( '.$len.' ) NOT NULL default '; }else{ $sql2 = $sql2.', `'.$champ.'` '.$format.' NOT NULL default '; } }
mais je ne vois pas où ...
Meric Coucou
|
|
Cette discussion est classée dans : table, req, mysql, sql, odbc
Répondre à ce message
Sujets en rapport avec ce message
mysql et php [ par nico606 ]
Salut g un probleme je debute en php et je viens de charger un espace membre pour mon site il est evidemment en php et Mysql y a une page d'installati
Select dans deux table [ par speedylol ]
Bonjour j aimerais selectionner un champs ou plusieur de deux table mes je vois pas comment faire cela sauriez vous m'aider merci? car je débute en ph
besoins d'aide pour E-commerce [ par speedylol ]
Bonjour j aimerais selectionner un champs ou plusieur de deux table mes je vois pas comment faire cela sauriez vous m'aider merci?car je débute en php
Création de table [ par chatainsim ]
Bonsoir, j'ai une petite question, comment crée des tables mysql à l'aide du php ? En fait j'aimerais pouvoir créer une installation automatiser pour
Création de table [ par chatainsim ]
Bonsoir, j'ai une petite question, comment crée des tables mysql à l'aide du php ? En fait j'aimerais pouvoir créer une installation automatiser pour
pb DELETE requete sql [ par kyript ]
Bonjours à tous voila mon problème j'ai un script avec un formulaire qui met a jour une table de la bdd. A la fin de ce script j'ai un "include" su
Peut-on dire "SAUF" en SQL ? [ par nougitch ]
Bonjour, J'aimerai savoir s'il y a possibilité de traduire un "SAUF" dans une requête SQL. Je cherche en effet à sélectionner tous les enregistreme
Probleme recuperation de l'id d'une table pour insérer dans une autre par la methode update [ par Alpha911 ]
Bonjour,Je test plusieurs methodes pour pouvoir prendre l'id d'une table qui et la recopier dans une autre table j'ai 2 tables UTILISATEUR et une autr
afficher age compris entre 2 valeur grace a une base sql help [ par guigui2mars ]
hello voila je veux pouvoir grace a une date de naissance qui est inscrite dans la bas de donnée arrivé a afficher l'intervalle d'age ( ex 18 - 25 ans
SQL - ACCESS [ par flopad ]
Bonjour, j'ai le code suivant, comment est ce que je peux l'adapter pour une basse access et non SQL...?? $base="D:\\Qualite\Annuaire\Annuaire.mdb";
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|