Explode et fonction

Eléphant du PHP | 424 Messages

23 févr. 2006, 22:15

Bonjour j'ai ce petit code mais rien ne s'affiche ! je ne vois pourtant aucune erreur pourriez vous me dire si vous décelé une erreur ?? merci !
<? 

	$sqldid = 'select * from tb_matchs where id = '.$id;
   // $nbsql += 1;
	if ($resselectdid = mysql_query($sqldid)) {
         $selectdid = mysql_fetch_array($resselectdid);
	}	 
?>

function InitAll(){
<? 

if ( $selectdid["liste_id_dirigeant"] != NULL ){
$tableau = explode(",", $selectdid["liste_id_dirigeant"]);								 
$tabout = "dir_out[]";
$tabin = "dir_in[]";
for ($cpt=0; $cpt < count($tableau); $cpt++) 
	print 'SelectionnerItem("'.$tabin.'",'.$tableau[$cpt].');';

	print 'DeplacerItemDeVers("'.$tabin.'", "'.$tabout.'");';
}
	
?>
Youpi Youpi Yo !

Eléphant du PHP | 113 Messages

23 févr. 2006, 22:19


Eléphant du PHP | 424 Messages

23 févr. 2006, 22:26

Oui et ? je nevois pas le rapport avec mon post !
Youpi Youpi Yo !

Mammouth du PHP | 19672 Messages

23 févr. 2006, 22:29

en mettant:
if ($resselectdid == mysql_query($sqldid))
au lieu de
if ($resselectdid = mysql_query($sqldid))
ça fonctionnera peut-être mieux :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 424 Messages

23 févr. 2006, 22:34

Non la je n'ai plus rien qui s'affiche aucune donnée....

Mes données sont bien affichées mais j'ai une liste menu qui s'appel dir_out et je veux mettre dedans les informations de liste_id_dirigeant mais rien ne s'affiche dedans...

Merci pour votre aide
Youpi Youpi Yo !

Mammouth du PHP | 19672 Messages

23 févr. 2006, 22:44

Un autre truc m'échappe :
<?php
//...
?>
function InitAll(){ 
<?php
//...
?>
Tu déclares une fonction en dehoars du code PHP, c'est original, mais j'ai des doutes sur l'efficacité de la méthode :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 424 Messages

23 févr. 2006, 23:00

Bein non ca ne fonctionne toujours pas ! c'est bizare on dirait que c'est mon explode qui ne fonctionne pas ! car quand je fais un echo de $selectdid["liste_id_dirigeant"]; il m'affiche bien les valeurs de liste_id_dirigeant sous forme de chaine !!!

Mais pourquoi ma liste/menu ne m'affiche rien... je galére :?
Youpi Youpi Yo !

Mammouth du PHP | 19672 Messages

23 févr. 2006, 23:04

Ton code est incomplet, c'est difficile de t'aider : tu as une déclaration de fonction qui ne correspond on ne sait trop à quooi d'autant qu'elle est en dehors du PHP.

Essaye donc de faire afficher tes variables pour vérifier qu'elles ont bien des valeurs.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 424 Messages

23 févr. 2006, 23:08

Le truc c'est que mes vaiables ont bien des valeurs ! mais seul le tableau reste vide....
Youpi Youpi Yo !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 févr. 2006, 11:26

Il faudrait revoir le code que tu as corrigé, mais à priori, je dirais que c'est parce que $selectdid n'existe pas dans ta fonction. Il faut le déclarer comme global pour accéder à celui que tu as initialisé au dessus...

Eléphant du PHP | 424 Messages

24 févr. 2006, 15:01

Donc si j'ai bien compris je mets à l'intérieur de ma fonction $GLOBALS['liste_id_dirigeant'] ? c'est ca :?:
Youpi Youpi Yo !

Eléphant du PHP | 67 Messages

24 févr. 2006, 15:03

Donc si j'ai bien compris je mets à l'intérieur de ma fonction $GLOBALS['liste_id_dirigeant'] ? c'est ca :?:

non juste

GLOBAL $liste_id_dirigeant; au demarrage de la fonction

<? 
    $sqldid = mysql_query('select liste_id_dirigeant from tb_matchs where id = '.$id.' LIMIT 1'); 
    while ($resselectdid = mysql_fetch_array($sqldid))
			{
			$selectdid = $resselectdid['liste_id_dirigeant']; 
			}
    
?> 

<? 
function InitAll()
	{ 
	GLOBAL $selectid;
	if (!empty($selectdid))
		{
		$tableau = explode(",", $selectdid);                                 
		$tabout = "dir_out[]"; 
		$tabin = "dir_in[]"; 
		for ($cpt=0; $cpt < count($tableau); $cpt++) 
				{
    		print 'SelectionnerItem("'.$tabin.'",'.$tableau[$cpt].');'; 
    		print 'DeplacerItemDeVers("'.$tabin.'", "'.$tabout.'");'; 
				}
		}
	} 
?> 
Maintenant je cherche a comprendre ce que tu veux faire ça aiderait

Eléphant du PHP | 424 Messages

24 févr. 2006, 15:28

Ca ne fonctionne pas !! :(

J'ai une table dirigeant

id nom
1 RORO
2 TUTU

et une table comité

id entete liste_id_dirigeant
12 BUREAU 1,2
Alors ce que je veux faire c'est ceci :

j'ai une liste (liste/menu) contenant tous les dirigeants de mon association qui s'appel dir_in
Ensuite, j'ai une autre liste contenant simplement les dirigeants faisant partie du comité directeur qui s'appel dir_out

Grace à un bouton je transfert les dirigeants choisit de dir_in à dir_out.

J'arrive à enregistrer les valeurs de dir_out dans ma base sql sous forme :
1,2

Maintenant je souhaite modidifer cette liste pour cela je veux afficher dans dir_out les membres présent dans ma base comité.

Merci pour votre aide et votre patience ::: :roll: :D
Youpi Youpi Yo !

Eléphant du PHP | 67 Messages

24 févr. 2006, 15:40

j'ai du mal a tout comprendre il serait mieux que tu nous donne le code avec le javascript car a mon avis tu doit avoir une erreur autre part

Eléphant du PHP | 424 Messages

24 févr. 2006, 15:42

Et voici le code complet alors :
<script language="JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function DeplacerItemDeVers(de, vers) {

  var zlAv = de;
  var zlAp = vers;

  if (document.form1.elements[zlAv].options.selectedIndex >= 0) {
    
    while (document.form1.elements[zlAv].options.selectedIndex >= 0) {
      ind = document.form1.elements[zlAv].options.selectedIndex;
      
      texte  = document.form1.elements[zlAv].options[ind].text;
      valeur = document.form1.elements[zlAv].options[ind].value;
    
      document.form1.elements[zlAv].options[ind] = null;
    
      var user = new Option(texte, valeur);
      lg = document.form1.elements[zlAp].options.length;
      document.form1.elements[zlAp].options[lg] = user;
    }
  
  } else {
    alert("Aucun Item sélectionné !");
  }
  return(false);
  
}

function EraseJoueurOut(zlAv){ 
	 nb = document.form1.elements[zlAv].options.length;
	 
	 for(i=0;i<nb;i++)
        document.form1.elements[zlAv].options[0] = null;

	return( true );
}

function SelectionnerItems(form) {

  zl = "dir_out[]";
  lg = document.form1.elements[zl].options.length;
  
  for (cpt = 0; cpt < lg; cpt++) {
    document.form1.elements[zl].options[cpt].selected = true;
  }
  
   return( true );
}

function SelectionnerItem(zl,item_val) {

  // zl = "entrain_out[]";
  lg = document.form1.elements[zl].options.length;

  for (cpt = 0; cpt < lg; cpt++) {
  	if (document.form1.elements[zl].options[cpt].value == item_val)	
	    document.form1.elements[zl].options[cpt].selected = true;
  }

  return( true );
}

<? 

	$sqldid = 'select * from tb_matchs where id = '.$id;
   // $nbsql += 1;
	if ($resselectdid = mysql_query($sqldid)) {
         $selectdid = mysql_fetch_array($resselectdid);
	}	 

function InitAll(){

if ( $selectdid["liste_id_dirigeant"] != NULL ){
$tableau = explode(",", $selectdid["liste_id_dirigeant"]);								 
$tabout = "dir_out[]";
$tabin = "dir_in[]";
for ($cpt=0; $cpt < count($tableau); $cpt++) 
	print 'SelectionnerItem("'.$tabin.'",'.$tableau[$cpt].');';

	print 'DeplacerItemDeVers("'.$tabin.'", "'.$tabout.'");';
}
	}
?>
return( true );
}


function formattitre() {
  var str = document.selection.createRange().text;
  document.form1.remarques.focus();
  var sel = document.selection.createRange();
  sel.text = "<font color=#FFFF99><strong>" + str + "</strong></font>";
  return;
}


function format(f) {
  var str = document.selection.createRange().text;
  document.form1.remarques.focus();
  var sel = document.selection.createRange();
  sel.text = "<" + f + ">" + str + "</" + f + ">";
  return;
}

function lien() {
  var str = document.selection.createRange().text;
  document.form1.remarques.focus();
  var lien = prompt("URL:","http://");
  if (lien != null) {
    var sel = document.selection.createRange();
    sel.text = "<a href=\"" + lien + "\" class=\"parag\">" + str + "</a>";
  }
  return;
} 
//-->
</script>
Youpi Youpi Yo !