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

Langage PHP Discussion :

Tableau prérempli + envoie de donnée dans BDD


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Tableau prérempli + envoie de donnée dans BDD
    Bonjour à tous,

    J'ai un site web mis en place avec joomla. Je me doute que sur ce forum, ce doit être assez mal vu mais je n'ai pas les connaissances ni le temps pour coder un site. Bref sur ce site joomla, j'ai des articles qui sont essentiellement des tableaux.

    Je ne vois pas très bien comment l'expliquer mais en gros, beaucoup de gens vont rentrer des informations dans ces tableaux.

    J'aimerai donc avoir certaines cellules pré-remplies et d'autres, quand l'utilisateur entrera en mode édition et comblera la cellule vide, la donnée sera stocké dans une cellule d'une base de donnée oracle (10g).

    Une fois qu'un tableau est entièrement complété, la suite me parait logique, sans rentrer dans le mode édition on voit le tableau avec les données qui ont été inscrite, si on rentre dans le mode édition, et que l'on modifie une cellule, cela modifiera la donnée présente dans la base.

    Joomla ne permet pas cela et ces tableaux ne sont pas très esthétique non plus. Je me suis donc dit que le php serai donc le plus a même à correspondre. En utilisant l'éditeur wysiwyg de joomla, je peux rentrer du code php donc pas de restriction la dessus.

    J'ai consulté quelques sites traitant du sujet, certains parle d'aray, d'autre de base mysql, mais j'ai rien vu traitant de base oracle.

    Avez vous une piste à me donner ? Par quoi dois-je commencer ? Remplir une base de donnée et apprendre le code qui appellera les données et en enverra aussi ? Ou bien fonctionné avec les array ?

  2. #2
    Membre actif Avatar de el_pedro
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 200
    Points : 236
    Points
    236
    Par défaut
    Salut.

    Apparemment tu n'as pas les compétences de base en PHP... donc expliquer comment fonctionne l'ARRAY et les liaisons entre PHP et une base de données (MySQL en l’occurrence si je ne me trompe, pas réellement oracle) revient à expliquer presque toute le fonctionnement de base de PHP.

    En commençant par lire ce tutoriel, tu pourra voir les bases de PHP. Concentre toi sur les formulaires et la liaison avec la base de données et tu devrai trouver ton bonheur.

    Je suis désolé de rester aussi vague. Mais tu demande de résumer des heures d'explications et d’entraînement en quelques lignes... ce qui me semble impossible sur un forum.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Oui je me doutais que ça allais pas être simple.
    Je vais suivre ton lien et voir ce que ça me donne.

    Concernant la base c'est bien avec une base oracle 10g que je dois travailler. Pour le moment j'effectue tout mes test sur du mysql mais dès que je suis à peu près sur de moi concernant php et mon site web je basculerai mon travail sur oracle.

    Si d'autres personnes ont des liens ou des points que je devrai étudié également, n'hésitez pas

    merci a toi el_pedro

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    J'ai lu le tutoriel et commencé à coder mais j'ai désormais une question (ou plusieurs si vous avez le courage d'allez jusqu'à la fin) :

    Comment récupère t'ont une clé auto incrémenté lors d'un POST ?

    Voici une vision du code,
    ceci est la page "test.php" qui appelle "view.php"
    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
     
    <?php
    include("fonctions.php");
    ?>
    <html>
    <head><title>tableau</title></head>
    <body>
    	<?php
    	connectMaBase();
    	$sql1 = 'SELECT * FROM tablerep WHERE ID="1086"';
    	$req1 = mysql_query($sql1) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    	while($result=mysql_fetch_array($req1))
    	{
     
    	$busin = $result[1];
    	$apli = $result[2];
    	$desc = $result[3];
    	}
    	mysql_free_result ($req1);
     
    	mysql_close();
    	?>
    	<br />
    		<form name="application" method="post" action="view.php"> <br/>
    			<TABLE BORDER="1" width="100%">
     
    				<CAPTION> Voici le titre du tableau </CAPTION>
    				<TR>
    					<td> <?php echo $busin ?> </td>
    					<td> <input type="text" name="aplmanagement"/> </td>
    				</TR>
    				<TR>
    					<td> <?php echo $apli ?> </td>
    					<td> <input type="text" name="aplname"/> </td>
    				</TR>
    				<TR>
    					<td> <?php echo $desc ?> </td>
    					<td> <input type="text" name="apldescription"/> </td>
    				</TR>
    			</TABLE> 
    			<br />
    			<input type="submit" name="valider" value="OK"/>
    		</form>
    Avec ceci j'ai donc mon tableau pré rempli, les informations entrées dans la table avec l'identifiant 1086 ne changeront jamais donc j'ai bidouillé comme ca.

    Mon problème c'est la suite :

    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
    <?php
    include("fonctions.php");
    ?>
    <html>
    <head><title>tableau</title></head>
    <body>
    	<?php
    	$aplmanagement1=$_POST['aplmanagement'];
    	$aplname1=$_POST['aplname'];
    	$apldescription1=$_POST['apldescription'];
     
    	connectMaBase();
     
    	$sql2 = 'INSERT INTO tableapli VALUES ("","'.$aplmanagement1.'","'.$aplname1.'","'.$apldescription1.'")';
    	$req2 = mysql_query ($sql2) or die ('Erreur SQL !'.$sql2.'<br />'.mysql_error());
     
    	$sql1 = 'SELECT * FROM tablerep WHERE ID="1086"';
    	$req1 = mysql_query($sql1) or die ('Erreur SQL !'.$sql1.'<br />'.mysql_error());
    	while($result=mysql_fetch_array($req1))
    	{
     
    	$busin = $result[1];
    	$apli = $result[2];
    	$desc = $result[3];
    	}
    	mysql_free_result ($req1);
     
    	$sql3= 'SELECT * FROM tableapli WHERE IDapli="0"';
    	$req3 = mysql_query($sql3) or die ('Erreur SQL !'.$sql3.'<br />'.mysql_error());
    	while($result3=mysql_fetch_array($req3))
    	{
     
    	$aplmanagement2 = $result3[1];
    	$aplname2 = $result3[2];
    	$apldescription2 = $result3[3];
    	}
     
    	mysql_close();
    	?>
    	<br />
    			<TABLE BORDER="1" width="100%">
     
    				<CAPTION> Voici le titre du tableau </CAPTION>
    				<TR>
    					<td> <?php echo $busin ?> </td>
    					<td> <?php echo $aplmanagement2 ?></td>
    				</TR>
    				<TR>
    					<td> <?php echo $apli ?> </td>
    					<td> <?php echo $aplname2 ?> </td>
    				</TR>
    				<TR>
    					<td> <?php echo $desc ?> </td>
    					<td> <?php echo $apldescription2 ?> </td>
    				</TR>
    			</TABLE> 
    			<br />
    	<?php
     
    	?>
    </body>
    </html>
    Je suis bloqué au niveau des clés primaire etc.

    Dans mon code j'ai mis une requête where idapli=0 mais en fait je voudrais récupéré l'id qui se crée lorsque le formulaire est envoyé. Voyez vous comment faire ?

    Sachant que la plupart du site est fait avec joomla, je ne sais pas si une sorte de compteur sera utile, sachant en plus que le même code sera peut être utilisé pour modifier une page déjà existante et qu'a ce moment là, l'id reste le même.

    Avez vous des suggestions concernant le code ? (mal rédiger à certains endroits ou autre)

    J'aurai sans doute d'autres questions par la suite, je n'ai toujours pas réfléchit à l'intégration de ce code dans la structure du site joomla, étant donné que les tableaux seront dans des articles, que certains tableaux seront déja rempli donc le premier code sera utilisé pour modifier, qu'il y a déja un identifiant pour les articles fait automatiquement par joomla... bref, ya encore du boulot ^^

    Je ne sais pas si ma méthode de travail est la bonne, je tape le code et vois comment ca marche, et au fur et à mesure quand je vois des nouveaux trucs à ajouter, j'essaye d'adapter...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    t'es sous oracle ou mysql ?

    la donnée sera stocké dans une cellule d'une base de donnée oracle (10g)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req1 = mysql_query($sql1)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Pour le moment je travaille avec mysql. J'adapterai le code par la suite pour fonctionner avec oracle mais je voulais d'abord me familiariser avec le php avant de faire l'acquisition du serveur et de la license oracle.

    EDIT : Je viens de trouver la réponse à ma question :
    mysql_insert_id(); rapporte le dernier id incrémenté lors de la connection à la base donc dans mon code j'ai juste rajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql2 = 'INSERT INTO tableapli VALUES ("","'.$aplmanagement1.'","'.$aplname1.'","'.$apldescription1.'")';
    	$req2 = mysql_query ($sql2) or die ('Erreur SQL !'.$sql2.'<br />'.mysql_error());
    	$idincrement = mysql_insert_id();
    puis j'ai changé cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql3= 'SELECT * FROM tableapli WHERE IDapli="'.$idincrement.'"';
    Donc maintenant je pense attaquer le plus dur...

    - Mon tableau est dans un article joomla, si le tableau à déjà été rempli une première fois, j'aimerai que le formulaire n'apparaisse pas mais montre ce qui a été remplit précédemment (je suppose qu'en retrouvant l'id de l'article et en le liant a la table apli dès son incrémentation ca devrai me faire une piste de départ).

    - Ensuite j'aimerais mettre en place un système permettant de modifier les champs qui ont été incrémentés (imaginons que la personne se soit trompée et ait tout de même validé, je ne veux pas qu'elle retape à nouveau le formulaire, avoir un doublon dans ma base, etc...)

    - Puis intégrer tout ça à joomla

    Si vous voyez d'autres choses, avez des idées d'amélioration ou tout autre conseil a me donner, s'il vous plait, faite !

Discussions similaires

  1. Réponses: 9
    Dernier message: 10/02/2010, 18h30
  2. [MySQL] problème ajout donnée dans BDD via php
    Par Skeud007 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/05/2006, 23h41
  3. Réponses: 15
    Dernier message: 10/04/2006, 15h06
  4. [MySQL] vérifier données dans BDD
    Par ardamus dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/01/2006, 17h21
  5. (DotNet c++) envoi de données dans une textbox
    Par stgi02 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 02/02/1970, 02h52

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