Liste liées + Oracle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Liste liées + Oracle

Liste liées + oracle

par dakoss » 22 mai 2008, 14:55

Lol..... :mrgreen:

Re: Liste liées + oracle

par Cyrano » 22 mai 2008, 14:46

Je viens de résoudre mon petit problème. ça marche très bien. C'était ma première requête qui n'était pas bonne....
Ha tiens donc, quelle surprise... :mrgreen:

Liste liées + oracle

par dakoss » 22 mai 2008, 14:28

Je viens de résoudre mon petit problème. ça marche très bien. C'était ma première requête qui n'était pas bonne. Là je vais essayer de faire lier la deuxième liste à une 3ème!! Si j'ai un autre souci, je vous ferai appel. Je ne sais pas par contre comment marquer "résolu" ce sujet.
Merci


[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Liste liées + oracle

par dakoss » 22 mai 2008, 10:51

Désolé, je n'avais lu ce message. Je suis entrain de revoir tout le code.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Cyrano » 22 mai 2008, 10:46

Si tu sais ce qui cloche dans ta requête, remonte dans le code pour voir ù ça peut bafouiller dans l'initialisation de la variable incriminée : observe par exemple s'il est possible que cette variable ne soit jamais initialisée : un if() qui ne serait pas suivi d'un else, par exemple, ou encore une boucle for() dans laquelle on ne rentre jamais, etc...
Tu es sur que tu as bien lu ceci ??

Liste liées + oracle

par dakoss » 22 mai 2008, 10:10

La seule partie du code qui me pose problème actuellement est la création de la deuxième requête qui me permettra d'avoir les catégories d'une plateforme sélectionnée de la 1ère liste déroulante. La requête concernant la sélection des éléments de la 1ère liste marche bien à mon avis. Mais chaque fois que je sélectionne un élément de cette liste, dans la deuxième liste je n'ai pas vraiment les catégories correspondantes à la plateforme sélectionnée. J'ai une erreur sur la requête qui n'est pas bonne et donc j'essaie de la corriger pour avoir les informations que je veux. Voici la partie du code qui à mon avis, cause problème:


<?php
$libre=oci_free_statement($parsed);

/* On commence par vérifier si on a envoyé un numéro de plateforme et le cas échéant s'il est différent de -1 */
				if(isset($idr) && $idr != -1)
					{
						/* Création de la requête pour avoir les catégories de cette plateforme*/
$sql="select distinct CA_NAME from CATEGORIE,PLATEFORME,PL_CA WHERE CATEGORIE.CA_ID=PL_CA.CA_ID AND PPL_CA.PL_ID=".$idr."";
//echo($sql); 
			if($connexion != false)
							{
								$parsed1 = OCIParse($connexion, $sql);
								OCIExecute($parsed1,OCI_DEFAULT);
								$nrows1 = oci_fetch_all($parsed1, $results1);
								/* Un petit compteur pour les catégories */
								$nbca = 0;
								/* On crée deux tableaux pour les numéros et les noms des catégories */
								$id_ca = array();
								$ca_name = array();
								/* On va mettre les numéros et noms des catégories dans les deux tableaux */
								for ($i = 0; $i < $nrows1; $i++ )
								{
									array_push($id_ca, "".$results1["CA_ID"][$i]."" );
									array_push($ca_name, "".$results1["CA_NAME"][$i]."");
									/* On incrémente le compteur */
									$nbca++;
								}
							
								/* Maintenant on peut construire la liste déroulante */
            ?>   
								<p>              
			                    	<label>Catégorie</label>
									<select name="CA_NAME" id="CA_NAME">
										<?php  
											for($d = 0; $d<$nbca; $d++)
												{
										?>
											<option value="<?php echo($id_ca[$d]); ?>"
												<?php echo((isset($ca_selectionnee) && $ca_selectionnee == $id_ca[$d])?" selected=\"selected\"":null); ?>><?php echo($ca_name[$d]); ?> 
											</option>
										<?php
												}
										?>
									</select>
								</p> 
							<?php
							}
									/* Un petit coup de balai */
									$libre1=oci_free_statement($parsed1);
									

					}
							?>
J'espère que mon problème est plus clair maitenant?

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Cyrano » 21 mai 2008, 22:36

Alors dans ce cas, je te suggère également de reformuler aussi ta question en fournissant les éléments qui nous permettront de t'apporter une assistance. Les parties du code qui posent problème par exemple, et accessoirement un copier/coller des requêtes générées :-k

Liste liées + oracle

par mdakoss » 21 mai 2008, 22:30

Merci "ZEUS" pour tes remarques. Je les ai notées.

par zeus » 21 mai 2008, 20:12

Modération :
mdakoss, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

Liste liées + oracle

par mdakoss » 21 mai 2008, 19:49

Il n'y a personne pour m'aider?

Liste liées + oracle

par dakoss » 21 mai 2008, 11:45

J'ai corrigé l'erreur "2" concernant les parenthèses

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Cyrano » 21 mai 2008, 11:45

Alors commence par vérifier la première requête en changeant la valeur de ta première liste pour vérifier qu'à chaque fois le critère de sélection est pris en compte. S'il ne l'est pas, c'est que tu as une erreur au niveau de la récupération des données ou bien une erreur de traitement. Et sans voir le code approprié, je ne pourrai pas t'indiquer quoique ce soit.

Liste liées + oracle

par dakoss » 21 mai 2008, 11:35

En écrivant par exemple:
$sql="select distinct CA_NAME from 
PORTAL_CATEGORIE,PORTAL_PLATEFORME,PORTAL_PL_CA 
WHERE PORTAL_CATEGORIE.CA_ID=PORTAL_PL_CA.CA_ID 
AND PORTAL_PLATEFORME.PL_ID=PORTAL_PL_CA.PL_ID ";
Quand je sélectionne par exemple le 1er élément de la 1ère liste, j'ai des données dans la 2ème liste. Seulement j'ai quelques soucis:
1- les données correspondantes à l'élément sélectionné de la 1ère liste n'ont pas les bonnes valeurs. (A cause de la requête, quelque soit l'élément sélectionné dans ma 1ère liste, j'ai les mêmes données dans la 2ème liste)
2- j'ai des paranthèses "()" à la fin de chaque valeur de la 2ème liste
3- Chaque fois que je sélectionne un élément de la 1ère liste au lieu que celui-ci reste inchangé, dans cette liste j'ai le dernier élément de la liste i-e "Windows XP".
Sur l'image à ce lien je sélectionne par exemple le 1er élément "AIX" de la 1ère liste.
En image: http://download.yousendit.com/15983EBD3E576508

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Cyrano » 21 mai 2008, 11:12

Si tu sais ce qui cloche dans ta requête, remonte dans le code pour voir ù ça peut bafouiller dans l'initialisation de la variable incriminée : observe par exemple s'il est possible que cette variable ne soit jamais initialisée : un if() qui ne serait pas suivi d'un else, par exemple, ou encore une boucle for() dans laquelle on ne rentre jamais, etc...

Liste liées + oracle

par mdakoss » 21 mai 2008, 10:18

Merci Cyrano.
Je sais que l'erreur vient de la requête mais je ne vois pas comment je peux la corriger. Je vais encore essayer en tout cas.