fonction php

Eléphant du PHP | 158 Messages

19 avr. 2005, 10:37

Salut tt le monde,

Voila j'ai crée une fonction ki prend deux paramètre en entrées mais quand je l'appel en lui donnant deux paramètres j'ai des erreurs qui me disent que les variables que je place ne sont pas définies (voir code):

Voici mon code, si vous voyez ce qui cloche faites moi signe, merci d'avance:


[code]

<HTML>

<HEAD>

<TITLE> Formulaire de selection d'une partie de la table par l'utilisateur </TITLE>

</HEAD>

<BODY>

<FORM NAME="check_ligne" METHOD="post" ACTION="affiche_checked_ligne.php">

<BR>
<H2 align="center">Formulaire de sélection d'entreprise</H2>
<BR>

<?

//connexion à la base de données:
$liendb8=mysql_connect("localhost","root","")or die("la connexion à la base a échoué");
// selection de la base à remplir:
mysql_select_db("base_stage")or die("Impossible de se connecter à la base de données");

// requête de contrôle de l'affichage
$sql="SELECT Nom_entreprise FROM Entreprises ORDER BY Nom_entreprise";

$resultat=mysql_query($sql);

// declaration de la fonction php de remplissage de la colonne Select_coche de la base

function insertion_table($entreprise, $valeur = 'yo') {
$sql2="UPDATE Entreprises SET Select_coche='$valeur' WHERE Nom_entreprise='$entreprise'";
mysql_query($sql2);
}

echo"<TABLE align='center' border=1 cellspacing='1'>";

while($select_entreprise = mysql_fetch_row($resultat))// creation d'une variable tableau qui stocke les données résultats de la recherche
{ // tant que $select_entreprise existe on fait:
echo"<TR>";
$taille_select_entreprise= count($select_entreprise);

for($i=0;$i<$taille_select_entreprise;$i++){
echo"<TD>".$select_entreprise[$i]."</TD>";
$nom_box= "case_coche[$select_entreprise[$i]]";

$test= "Yo"; //pour tester la fonction
$testent= "blabla"; //pour tester la fonction
echo "<TD>"."<INPUT type='checkbox' name='$nom_box' value='Salut' onclick= insertion_table($testent,$test)>"."</TD>";
}

echo"</TR>";
} // fin du while/tant que

echo"</TABLE>";

// Fermeture de la base
mysql_close($liendb8);

?>
<BR><BR>
<TABLE align="center" cellspacing="1">

<TR>
<TD><INPUT type="submit" name"validation" value="Afficher la sélection"></TD>
<TD width="120"></TD>
<TD><INPUT TYPE="reset" VALUE="Décocher"></TD>
</TR>

</TABLE>

</FORM>

</BODY>

</HTML>

[/code]
°°°Darkbibou°°°

Eléphant du PHP | 161 Messages

19 avr. 2005, 10:48

Salut,
function insertion_table($entreprise, $valeur = 'yo') {
$sql2="UPDATE Entreprises SET Select_coche='$valeur' WHERE Nom_entreprise='$entreprise'";
mysql_query($sql2);
}
pourquoi tu met 2 parametres et que t'en fixe 1 :?:

sinon tu peux copier/coller le msg d'erreur ?

Eléphant du PHP | 158 Messages

19 avr. 2005, 10:56

Meme si j'enleve la valeur par defaut ca ne change rien :(

le message d'erreur qui s'affiche quand je clique sur une des checkbox:

Erreur: 'blabla' est indéfini

(je précise que blabla est le nom d'une entreprise dans la table)
°°°Darkbibou°°°

Invité
Invité n'ayant pas de compte PHPfrance

19 avr. 2005, 14:51

php ou javascripte  ???

j ai test ton bou de code pour voir ce qui en resoter
voila ce que tu  fait en simplifier 

function insertion_table($entreprise, $valeur = 'yo') {
	$zz = 'fait quelle que chose ';
	// ici tu retoune pas de  valeur ???? 
	}

 $test= "Yo"; //pour tester la fonction
$testent= "blabla"; //pour tester la fonction 

 echo "<TD>"."<INPUT type='checkbox' name='$nom_box' value='Salut' onclick= insertion_table($testent,$test)>"."</TD>"; 

sortie j ai  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><

<TD><INPUT type='checkbox' name='' value='Salut' onclick= insertion_table(blabla,Yo)></TD>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

de plus onclick qui et du javascripte  il te faut code dans le javascrpte ou double je sai tplus
conclusion ton navigateur cherche peut etre un function javacripte
si tu veux apeler ta function un truc comme sa sera mieux 
echo "<TD><INPUT type='checkbox' name='$nom_box' value='Salut' </TD>"
// puis la function

insertion_table($testent,$test);
// si tu veux ajouter le contenu de quelle que chose de ta function 
 echo "<TD>"."<INPUT type='checkbox' name='$nom_box' value='Salut' onclick=" .  insertion_table($testent,$test) . "></TD>"; 
// il faut pour bien que ta function retourne quelle que chose 
puis les double ou simple je sait plus  cote pour que soit bien traiter pas le javascripte