Page 1 sur 1

fonction php

Posté : 19 avr. 2005, 10:37
par Darkbibou
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]

Posté : 19 avr. 2005, 10:48
par Vianney
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 ?

Posté : 19 avr. 2005, 10:56
par Darkbibou
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)

Posté : 19 avr. 2005, 14:51
par Invité
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