IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PB traitement de données ! [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut PB traitement de données !
    Bon voila un gros Post pour vous expliquer mon soucis.
    Je dois creer un ptit prog en PHP qui lorsqu'on lui donne une Table SQL genere automatiquement un formulaire de saisie de données, le soucis c'est que je n'arrive pas a envoyer les données sur une page pour qu'elles puissent etre ajoutée. voila le prog !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    <form method='POST' name='enreg données' ACTION='enregform.php'>
    <?php
    //connexion a la base
    $hostname = "localhost";
    $database = "calendrier";
    $username = "root";
    $password = "";
    mysql_pconnect($hostname, $username, $password) or die(mysql_error());
    @mysql_select_db($database) or die("Impossible de se connecter");
     
     
     
    	//recupere les information sur la table choisie
    	$req="SHOW FULL COLUMNS FROM rdv";
    	$result=mysql_query($req);
    	$ligne=mysql_fetch_array($result);
    	$i=0;
     
    	while ($ligne)
    	{
    		//enregistre dans un tableau nom de l'attribut, son type et si c'est une clé primaire
    		$tab[$i][0]=$ligne['Field'];
    		$tab[$i][1]=$ligne['Type'];
    		$tab[$i][2]=$ligne['Key'];
     
     
    		$ligne=mysql_fetch_array($result);
    		$i++;
    	}
    	 $taille=count($tab);
    	 for ($i=0;$i<$taille;$i++)
    	 {
     
     
    		// switch permettant de creer un input different selon le type de données
    		switch ($tab[$i][1])
    		{
    			//si l'attribut est de type varchar, zone de saisie de texte
    			case (eregi("^varchar",$tab[$i][1])==true) :
     
    				echo $tab[$i][0]." <input type='text' name='".$tab[$i][0]."' cols='40'></textarea><br>";
    			break;
     
    			 //si l'attribut est de type set, checkbox
    			case (eregi("^set",$tab[$i][1])==true) :
     
    				echo "<table border=1><tr><td>";
    				//on creer un tableau contenant les differentes valeurs que peut prendre l'attribut
    				if (eregi('^(set)\((.+)\)$', $tab[$i][1], $tmp)) 
    				{
    					$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
    					$valeurs[$tab[$i][1]]=explode(",",$tmp[2]);
    					echo $tab[$i][0]." :<br>";
    					foreach($valeurs[$tab[$i][1]] as $j => $valeur) 
    					{	
    						$valeurs[$tab[$i][1]][$j]=substr($valeur,1,strlen($valeur)-2);
    						echo $valeurs[$tab[$i][1]][$j]."<input type='checkbox' name='".$valeurs[$tab[$i][1]][$j]."'><br>";;
    					}
    				 }
    				 echo "</td></tr></table>";
    			break;
     
    			//si l'attribut est de type enum, boutons radio ou select
    			case (eregi("^enum",$tab[$i][1])==true) :
     
    			echo "<table border=1><tr><td>";
    				//on creer un tableau contenant les differentes valeurs que peut prendre l'attribut
    				if (eregi('^(enum)\((.+)\)$', $tab[$i][1], $tmp)) 
    				{
    					$tmp[2] = substr(ereg_replace('([^,])\'\'', '\\1\\\'', ',' . $tmp[2]), 1);
    					$valeurs[$tab[$i][1]]=explode(",",$tmp[2]);
     
    					echo $tab[$i][0]." :<br>";
    					//select si plus de 3 choix et radio si moins
    					if ((count($valeurs[$tab[$i][1]]))>3)
    					{
    						echo "<select name=".$tab[$i][0].">";
    						foreach($valeurs[$tab[$i][1]] as $j => $valeur) 
    						{	
    							$valeurs[$tab[$i][1]][$j]=substr($valeur,1,strlen($valeur)-2);
    							echo "<option value=".$valeurs[$tab[$i][1]][$j].">".$valeurs[$tab[$i][1]][$j]."</option>";
     
    						}
    						echo "</select><br>";
    					}
    					else
    					{
    						foreach($valeurs[$tab[$i][1]] as $j => $valeur) 
    						{	
    							$valeurs[$tab[$i][1]][$j]=substr($valeur,1,strlen($valeur)-2);
    							echo "<input type=radio name=".$tab[$i][0]." value=".$valeurs[$tab[$i][1]][$j].">".$valeurs[$tab[$i][1]][$j]."<br>";
    						}
    					}
    				}
    				echo "</td></tr></table>";
    			break;
     
    			//si l'attribut est de type int, zone de saisie de texte
    			case (eregi("int",$tab[$i][1])==true) :
     
    				echo $tab[$i][0]." <input type='text' name='".$tab[$i][0]."' cols='20'></textarea><br>";
    			break;
     
    			//si l'attribut est de type text, zone de saisie de texte importante
    			case (eregi("text",$tab[$i][1])==true) :
     
    				echo $tab[$i][0]." <textarea name='".$tab[$i][0]."' cols='50' row='6'></textarea><br>";
    			break;
     
     
    			//si l'attribut est de type int, zone de saisie de date
    			case (eregi("^date",$tab[$i][1])==true) :
     
    			break;
     
    			default : 
    				echo $tab[$i][1]." defaut<br>";
    			break;
    		 }
    	 }
     
    	echo "<INPUT TYPE='submit' NAME='valider' VALUE='VALIDER'>";
    	echo "<INPUT TYPE='reset' VALUE='ANNULER'>";
     
    ?>

    Voila j'espere qu'avec tout ca on pourra m'aider, parce que la je galere mechament !

    Edit: Resolu en utilisant une variable de session pour le tableau et en rajoutant "val"devant chaque nom de données a passer en post !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 104
    Points
    104
    Par défaut
    Bonjour


    Tu dois les recuperer sur la page "enregform.php" (la page d'action de ton formulaire). Elles seront dans la variables $_POST['nomDeLaVariable']. C'est bien aussi de tester leur presence avant de les utiliser avec isset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset($_POST['nomDeLaVariable']));
    {
         $nomDeLaVariable = $_POST['nomDeLaVariable'];
    }
    J'espere que j'ai bien repondu a ta question

  3. #3
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    le truc c'est qu a l avance on ne connai pas le nom des variable ni leur nombre donc je ne voi pas comment recuperer ca sur une autre page, ni d'ailleur comment les recup sur la meme page

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 104
    Points
    104
    Par défaut
    Mais tu connais le nom de tes variables il suffit de refaire la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req="SHOW FULL COLUMNS FROM rdv";
    Ou est le probleme ???

  5. #5
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    le probleme est que par la suite on ne connaitra pas forcement la table qu'on utilisera.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Points : 102
    Points
    102
    Par défaut
    il faut parcourir la variable $_POST qui contient toutes les données du formulaire soumis

  7. #7
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    non c bon j'ai trouvé une solution, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimiser mon traitement de données
    Par glsn dans le forum Requêtes
    Réponses: 29
    Dernier message: 15/05/2006, 10h35
  2. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  3. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  4. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  5. Programmation pour traitement de données
    Par benbois dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 19/10/2005, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo