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 :

Récupération de données dans un formulaire via un select


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 67
    Points
    67
    Par défaut Récupération de données dans un formulaire via un select
    Bonsoir,

    Je fais appel à vous pour un problème auquel actuellement je ne trouve pas de solutions.

    Ce script intervient au sein d'un backoffice pour la gestion des pages d'un site.
    J'ai un champ SELECT qui liste les pages existantes et modérables (Page 1, Page 2, etc...). En dessous de ce champ se trouve un formulaire de quatres champs correspondant à des données texte et image à mettre à jour.

    Mes problèmes se présentent quand je veux, en fonction du choix de la page à modifier dans mon champ SELECT, récupérer et afficher dans le formulaire les données (déjà présentes dans ma DB) correspondantes à chaque page.

    Dans l'état actuel des choses, lorsque j'affiche la page, les données présentes dans ma base pour la page 1 ne s'affichent pas. C'est lorsque je sélectionne la page 2 que les données de la page 2 s'affichent dans le formulaire. Mais là, les entrées dans le champ SELECT disparaissent. Après avoir essayé plein de choses, je suis dans l'impasse.

    Voici le code en question.
    Merci de votre aide.

    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
    <?php
    $id_niv = $_GET['id_niv'];
    $title_niv = $_GET['title_niv'];
     
    //FORMULAIRE DE MODERATION DES PAGES DE NIVEAU 1
     
    echo '
    <table width="100%" bgcolor="#ebebeb" cellspacing="2" cellpadding="0">
    <tr>
    <td align="left"><font size="2"><b>>> MODERER LA PAGE '.$title_niv.'</b></font></td>
    </tr>
    </table>
    <br>
    <table width="90%" cellspacing="2" cellpadding="0" align="center">';
    //On récupère le numéro des pages présentes et modérables pour l'onglet sélectionné
    $requete="SELECT *
    		FROM pages
    		WHERE p_id = '$id_niv'
    		ORDER BY p_nber ASC";
    //echo $requete;
    $result = mysql_db_query($db,$requete);
     
    echo '
    	<tr>
    		
    	</tr>
    </table><br><br>
    
    <form action="submit_new_entry.php?content=page" method="post">
    	<table align="center" width="90%">
    		<tr>
    			<td align="right"><font size="2"><b>Page :</b></font>&nbsp;</td>
    			<td>
    				<select name="p_nber" onChange=\'window.location=eval("this.options[this.selectedIndex].value")\'>';
    				//On affiche les liens vers les pages modérables pour l'onglet sélectionné
    				while($voir = mysql_fetch_array($result)) {
    				$p_id = $voir['p_id'];
    				$p_nber = $voir['p_nber'];
    				echo '				
    				<option value="pages_moderation.php?p_id='.$p_id.'&p_nber='.$p_nber.'">Page '.$p_nber.'&nbsp;&nbsp;</option>';
    				}				
    				echo '
    				</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    			//On compte le nombre de pages associées à un onglet pour afficher ou non le lien de création de page.
    			$nbre_rang = mysql_num_rows($result);
    			if($nbre_rang!=5) {
    			echo '<img src="img/pucev.jpg" border="0">&nbsp;<font size="2"><a href="add_new_entry.php?content=new_page&&p_id='.$p_id.'&&id_niv='.$id_niv.'">Nouvelle Page</a></font>';
    			}
    			else {}
    			$p_id = $_GET['p_id'];
    			$p_nber = $_GET['p_nber'];
    			//On récupère le numéro des pages présentes et modérables pour l'onglet sélectionné
          $requete2="SELECT *
          		      FROM pages
          		      WHERE p_id = '$p_id'
          		      AND p_nber = '$p_nber'";
          //echo $requete2;
          $result2 = mysql_db_query($db,$requete2);
          if($voir2 = mysql_fetch_array($result2)) {
    			echo '
    			</td>
    		<tr>
    		<tr>
    			<td align="right"><font size="2"><b>Titre de la page :</b></font>&nbsp;</td>
    			<td><input size="30" name="p_title" maxlength="100" value="'.$voir2['p_title'].'"/></td>
    		</tr>
    		<tr>
    			<td align="right"><font size="2"><b>Titre/description de la photo :</b></font>&nbsp;</td>
    			<td><input size="30" name="pic_title" value="'.$voir2['pic_title'].'"/></td>
    		</tr>
    		<tr>
    			<td align="right"><font size="2"><b>Photo/image :</b></font>&nbsp;</td>
    			<td><input type="file" size="30" name="pic"/></td>
    		</tr>
    		<tr>
    			<td align="right" valign="top"><font size="2"><b>Article :</b></font>&nbsp;</td>
    			<td><textarea name="p_article" cols="33" rows="10">'.br2nl($voir2['p_article']).'</textarea></td>
    		</tr>';
        }
    		echo '
    		<tr>
    			<td align="center" colspan="2"><br><input type="button" class="bouton" value="Retour" onClick="document.location.href=\'javascript:history.go(-1)\'"> | 
    												<input type="submit" class="bouton" value="Envoyer"></td>
    		</tr>
    	</table>
    	<input type="hidden" name="p_id" value="'.$p_id.'"/>
    </form>';
    ?>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    donne nous la structure de ta table et indique nous à quoi correspondent les champs

    est ce que tu as essayé les requêtes avec phpMyAdmin ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Description des champs:

    p_id = id de la page
    p_nber = numéro de la page
    pic_title = titre de l'image
    pic = champ de stockage du lien de l'image
    p_title = titre de la page
    p_article = article de la page

    Ci-dessous le contenu du fichier txt exporté de la table pages via PhpMyAdmin.

    Code sql : 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
    -- phpMyAdmin SQL Dump
    -- version 2.6.3-pl1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Samedi 02 Décembre 2006 à 17:36
    -- Version du serveur: 3.23.58
    -- Version de PHP: 5.0.4
    -- 
    -- Base de données: `recettage`
    -- 
     
    -- --------------------------------------------------------
     
    -- 
    -- Structure de la table `pages`
    -- 
     
    CREATE TABLE `pages` (
      `id` int(11) NOT NULL auto_increment,
      `p_id` varchar(20) NOT NULL default '',
      `p_nber` char(1) NOT NULL default '',
      `pic_title` varchar(200) NOT NULL default '',
      `pic` blob NOT NULL,
      `p_title` varchar(40) NOT NULL default '',
      `p_article` text NOT NULL,
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=140 ;
     
    -- 
    -- Contenu de la table `pages`
    -- 
     
    INSERT INTO `pages` VALUES (136, '46', '1', 'Sortie d''un DVD de concerts de 1969 à 1979', 0x4c65645a65702e6a7067, 'Led Zeppelin en DVD', ' Douze ans de carrière, et si peu de traces vidéo ! Les amateurs du Zep auront très longtemps regretté la politique du groupe, refusant quasi systématiquement passages télévisés et clips promotionnels, et négligeant même l''enregistrement de leurs concerts. Au final, seuls une poignée de shows auront été filmé professionnellement en vue d''une possible sortie officielle : Royal Albert Hall en 1970, les 3 soirs au Madison Square Garden en 1973, et enfin les 2 prestations au festival de Knebworth en 1979. Les images du Royal Albert Hall devaient faire l''objet d''un documentaire télé, mais le projet avait été finalement abandonné et les bandes sombraient dans l''oubli. Quant à Knebworth, nul ne sait si cela devait faire l''objet d''une sortie officielle mais quoi qu''il en soit, la mort de John Bonham un an plus tard allait en décider autrement...<br />\r\nPendant plus de 30 ans, on aura donc du se contenter du film "The Song Remains The Same" sorti en 1976, retraçant les 3 soirs au Madison Square Garden de New York en 73. Or les fans (la plupart du moins :p) du Zep le savent, ces concerts sont assez peu représentatifs des prestations habituelles du groupe.<br />\r\n<br />\r\nIl faudra attendre 1999 pour que Jimmy Page se mette enfin à la recherche des rares traces filmiques du Dirigeable, le résultat des fouilles archéologiques prenant donc la forme de ce joli coffret DVD. Selon Page, nous avons là l''entièreté des prestations filmées, et exploitables pour une sortie officielle. Le tout classé chronologiquement, retraçant ainsi le parcours scénique du groupe au fil de leur douze années de carrière. A ce jour, il s''agit du DVD musical le plus vendu au monde (plus d''1 million de copies).');
    INSERT INTO `pages` VALUES (137, '172', '1', '', '', '', '');
    INSERT INTO `pages` VALUES (138, '45', '1', 'Emmené par son charismatique chanteur/guitariste, ce trio a su s''imposer entre Nirvana et Radiohead et compte aujourd''hui sur la scène rock internationale.', 0x6d7573652e6a7067, 'Muse en Concert', 'Muse, jeune trio d’Outre-Manche, mené par son charismatique chanteur et guitariste Mathew Belamy, ne s’inscrit pas véritablement dans le mouvement brit-pop des dix dernières années. On aurait plutôt tendance à les assimiler à un compromis hybride entre Nirvana et Radiohead : la guitare est rarement en son clair et Mathew va percher sa voix dans les octaves qu’on croyait réservées à Buckley. On les sait influencés par Tom Waits, RATM ou Primus. Ces influences ne mènent pas toujours à une ressemblance évidente, mais on pourra noter quelques sons (voire quelques riffs) certainement empruntés aux artistes sus cités.<br />\r\n<br />\r\nCôté productions, ils sortent leur premier EP éponyme sur Dangerous Records, suivi par un second «Muscle Museum», en 1999 sur Maverik Records (le label créé par Madonna). Leurs prestations scéniques intenses les amènent à participer à un festival à New York. L’ année 99 est consacrée aux plus grands festivals (Glastonbury, Reading, Woodstock, La Route du Rock, Les Inrocks…).<br />\r\n<br />\r\nCar outre la diversité de leurs inspirations, la véritable originalité de Muse est sûrement leur jeu de scène. Improvisations endiablées, guitares et amplis explosés, bassiste et guitariste affalés dans la batterie sont le lot commun de chaque concert.<br />\r\nCertes, le succès de « Showbizz » (sorti sur le label de Madonna)fut immédiat et intense. Leur excitation va peut-être s’estomper au fil du temps, on regrettera alors le temps où Muse multipliait la durée de ces titres par cinq. Nouveauté dans les bacs depuis le 19 juin, Muse semble tenir ses promesses... Affaire en cours !');
    INSERT INTO `pages` VALUES (135, '76', '1', '', '', '', '');
    INSERT INTO `pages` VALUES (132, '74', '1', 'Rando dans les Vosges', 0x72616e646f2e6a7067, 'Randonnée du dimanche', 'Legi, Patres colendissimi, in Arabum monumentis, interrogatum Abdalam 1 Sarracenum, quid in hac quasi mundana scaena admirandum maxime spectaretur, nihil spectari homine admirabilius respondisse. Cui sententiae illud Mercurii adstipulatur: Magnum, o Asclepi, miraculum est homo 2.<br />\r\n<br />\r\nHorum dictorum rationem cogitanti mihi non satis illa faciebant, quae multa de humanae naturae praestantia afferuntur a multis: esse hominem creaturarum internuntium, superis familiarem, regem inferiorum; sensuum perspicacia, rationis indagine, intelligentiae lumine, naturae interpretem; stabilis aevi et fluxi temporis interstitium, et (quod Persae3 dicunt) mundi copulam, immo hymenaeum, ab angelis, teste Davide4, paulo deminutum.<br />\r\n<br />\r\nMagna haec quidem, sed non principalia, idest quae summae admirationis privilegium sibi iure vendicent.<br />\r\n<br />\r\nCur enim non ipsos angelos et beatissimos caeli choros magis admiremur? Tandem intellexisse mihi sum visus, cur felicissimum proindeque dignum omni dmiratione animal sit homo, et quae sit demum illa conditio quam in universi serie sortitus sit, non brutis modo, sed astris, sed ultramundanis mentibus invidiosam. Res supra fidem et mira.');
    INSERT INTO `pages` VALUES (134, '169', '1', '', '', '', '');
    INSERT INTO `pages` VALUES (139, '45', '2', 'Black Holes And Revelations', 0x616c62756d5f6d7573652e6a7067, 'Muse : Nouvel Album', '1. Take A Bow<br />\r\n2. Starlight (3''59)<br />\r\n3. Supermassive Black Hole (3''32)<br />\r\n4. Map Of The Problematique<br />\r\n5. A Soldier''s Poem (2''12)<br />\r\n6. Invincible (5''20)<br />\r\n7. Assassin<br />\r\n8. Exo Politics(4''47)<br />\r\n9. City of Delusion<br />\r\n10. Hoodoo<br />\r\n11. Knights of Cydonia (5''50)<br />\r\n12. Glorious (Chanson bonus au Japon)<br />\r\n<br />\r\nBlack Holes And Revelations est le quatrième album du groupe de rock britannique Muse, sorti en 2006. Ce nouvel opus subit une influence electro et le style du groupe s''enrichit de nouvelles sonorités.<br />\r\n<br />\r\nL''album est sorti tout d''abord au Japon le 28 juin 2006 puis en Allemagne le 30 juin, avant d''être distribué dans le reste du monde le 3 juillet. L''Amérique du nord a dû patienter jusqu''au 11 juillet 2006 pour découvrir cet album.<br />\r\n<br />\r\nOn pourrait qualifier ce disque "d''électro-futuro-galactique". Les arrangements orchestraux apportent beaucoup. On y retrouve le son habituel avec une certaine évolution et avec des textes très à jour.<br />\r\n<br />\r\nLa pochette de l''album a été conçue par Storm Thorgerson et s''inspire de la chanson Knights Of Cydonia. La scène représente quatre hommes autour d''une table dans un paysage martien. Trois chevaux miniatures sur la table font écho aux chevaliers de la chanson mais également aux quatre cavaliers de l''Apocalypse. Le livre de l''Apocalypse se traduit en anglais par Book of Revelation et apporte des révélations sur la fin du monde.');

Discussions similaires

  1. [PHP 5.0] Récupération des données dans un formulaire
    Par mezned dans le forum Langage
    Réponses: 1
    Dernier message: 01/11/2012, 03h49
  2. Réponses: 4
    Dernier message: 09/10/2011, 13h22
  3. [PDO] problème récupération de données dans un formulaire
    Par toutoutahtouha dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/08/2011, 14h05
  4. récupération des données dans un formulaire
    Par Smilossss dans le forum jQuery
    Réponses: 2
    Dernier message: 11/03/2011, 14h05
  5. récupération de données dans un formulaire
    Par zougna dans le forum IHM
    Réponses: 4
    Dernier message: 14/05/2007, 10h18

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