Requête SQL dans une fonction

Résolu/Fermé
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024 - 9 déc. 2013 à 17:06
baladur13 Messages postés 46548 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 29 juin 2024 - 9 déc. 2013 à 17:57
Chers confrères,
Dans une page PHP, je gère l'ajout, la modification et la suppression. Pour chacune de ces actions, j'affiche un formulaire (sous forme de fonction ) issu d'une autre page. Je la passe bien an appel dans ma page
include 'inc2.php';


Je problème est le suivant. Je souhaite pouvoir sélectionner un propriétaire dans une liste déroulante (<select></select>). Lorsque je crée mon select avec une connexion à la base de données propriétaire, le menu déroulant n'affiche rien et les reste de champs ne s'affiche pas.
require 'connexion.php';

function paradd($id_prop,$nom,$commune,$cadastre,$annnee,$mess=false)
		{
			
		if($mess){
			echo 'Veuillez saisir les champs avec <img src="img/uncheckp.jpg" /><br /><br />';
		}
		
			
		echo '<form action="gestion_parcelle.php" method="post">';
			
		echo '<table border="0">';
			echo '<tr>';
				echo '<td>Propriétaire</td>';				
				echo '<td>';
				echo '<select name="id_prop">';
		$sql = 'SELECT id,nom,prenom,actif FROM proprietaire 
		WHERE actif = 1 	
		ORDER BY nom';
		$pdo->exec("SET NAMES utf8");
		$resultat = $pdo->query($sql);
		echo '<option value="">-- Chosir proriétaire --</option>';
		while($var = $resultat->fetch()){

			echo '<option value="'.$var['id'].'">'.$var['prenom'].' '.$var['nom'].'</option>';
		}	
		 //On vide
		$resultat->closeCursor();
		echo '</select>';
		
				echo '</td>';	
echo '</tr>';	
//la suite des champs ......
//ici la fin du formulaire et de la fonction 
echo '<tr>';
				echo '<td><img src="img/uncheckp.jpg" />Champs obligatoires<br /><br /></td>';
				
				
				
				echo '<td align="right"><input type="submit" value="Envoyer" name="envoyer"><br /><br /></td>';				
			echo '</tr>';
					 	
		echo '</table>';
		
			
		echo '</form>';
			
			
			
		}



Pouvez vous m'aider à résoudre ce problème.

Merci d'avance


A voir également:

2 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
9 déc. 2013 à 17:14
Bonjour,

La variable $pdo n'existe pas à l'intérieur de la fonction !
Il faut soit la redéfinir, soit utiliser le mot clef global, soit le passer en paramètre de la fonction.

Par exemple :
function paradd($id_prop, $nom, $commune, $cadastre, $annnee, $mess = false)
{
	global $pdo;
	if($mess){
[...]


Xavier
0
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024
9 déc. 2013 à 17:47
Xavier,
Je te remercie, ça marche nickel chrome.
ça fait un moment que je planche dessus et je n'arrivais pas à trouver la solution
0
baladur13 Messages postés 46548 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 29 juin 2024 13 294
9 déc. 2013 à 17:57
0