Les cases à cocher et Dyanamic Tableaux associatifs

  • JakeBurgh
  • Newbie
  • Newbie
  • No Avatar
  • Inscription: Sep 05, 2010
  • Messages: 5
  • Status: Offline

Message Septembre 5th, 2010, 7:35 am

Hey,

Im faire une simulation de football de base pour une pièce de jeu électronique où les utilisateurs soumettent leurs teamsheets par la poste. Im l'automatisation du système de sorte que je sélectionne les équipes sur un site web qui simule ensuite le match pour moi et retourne un résultat.

La maison / away équipes sont présentées dans un tableau, prises à partir d'une base de données MySQL qui cases à cocher correspondant à chaque joueur pour les sélectionner à jouer dans ce match ici:

PHP Code: [ Select ]
$p=mysql_query("SELECT * FROM fixtures WHERE fixtureid='{$_GET['match']}' LIMIT 1", $c);
$pa=mysql_fetch_array($p);
print "<b><center><font size=+1>{$pa['homename']} v {$pa['awayname']}</font><br />
Division {$pa['tournament']} fixture | Turn {$pa['turn']}<br /><br />";
if ($pa['played'] > 0)
{
print "<b>This match has already been simulated. If you have entered the incorrect team or are unhappy with the result then please continue to select the squad.<br /><br /></b>";
}
$ht=mysql_query("SELECT * FROM players WHERE teamcode={$pa['hometeam']} AND rating2 > 0 ORDER BY posorder ASC", $c);
$at=mysql_query("SELECT * FROM players WHERE teamcode={$pa['awayteam']} AND rating2 > 0 ORDER BY posorder ASC", $c);
 
print "<form action='playmatch.php?stage=B&match=". $_GET['match']. "' method=post>
<div style='position: absolute; left: 200px; top: 80px;  width: 300px; padding: 1em;'>";
 
print "<font size=-1>
<table border=0>";
while ($h=mysql_fetch_array($ht))
{
 
print "<tr><td width=2%><input type='checkbox' value='" . $h['playerid'] ."' name='home[]'></td><td>
{$h['surname']}</td>
<td>{$h['pos1']}";
 
  1. $p=mysql_query("SELECT * FROM fixtures WHERE fixtureid='{$_GET['match']}' LIMIT 1", $c);
  2. $pa=mysql_fetch_array($p);
  3. print "<b><center><font size=+1>{$pa['homename']} v {$pa['awayname']}</font><br />
  4. Division {$pa['tournament']} fixture | Turn {$pa['turn']}<br /><br />";
  5. if ($pa['played'] > 0)
  6. {
  7. print "<b>This match has already been simulated. If you have entered the incorrect team or are unhappy with the result then please continue to select the squad.<br /><br /></b>";
  8. }
  9. $ht=mysql_query("SELECT * FROM players WHERE teamcode={$pa['hometeam']} AND rating2 > 0 ORDER BY posorder ASC", $c);
  10. $at=mysql_query("SELECT * FROM players WHERE teamcode={$pa['awayteam']} AND rating2 > 0 ORDER BY posorder ASC", $c);
  11.  
  12. print "<form action='playmatch.php?stage=B&match=". $_GET['match']. "' method=post>
  13. <div style='position: absolute; left: 200px; top: 80px;  width: 300px; padding: 1em;'>";
  14.  
  15. print "<font size=-1>
  16. <table border=0>";
  17. while ($h=mysql_fetch_array($ht))
  18. {
  19.  
  20. print "<tr><td width=2%><input type='checkbox' value='" . $h['playerid'] ."' name='home[]'></td><td>
  21. {$h['surname']}</td>
  22. <td>{$h['pos1']}";
  23.  


La forme se poursuit ensuite et c'est la même chose pour l'équipe à l'extérieur, sauf le nom de la case à cocher est loin [].

Où suis-je de la difficulté est que je ne sais pas comment interpréter les données renvoyées pour le formulaire sur la page suivante.

J'ai besoin de sélectionner tous les joueurs (qui a été choisi) à partir de la base de données en utilisant le numéro d'identification unique joueurs de la valeur de:

PHP Code: [ Select ]
value='" . $h['playerid'] ."'


J'ai essayé différents foreach / while, mais ils ne semblent pas pour retourner rien. Pour le moment je n'ai
PHP Code: [ Select ]
print "{$_POST['home']}";
 
  1. print "{$_POST['home']}";
  2.  

Sur l'écran de retour qui imprime le mot "Array". Par conséquent, je connais les informations sont envoyées via le formulaire comme un tableau associatif, mais je ne sais pas comment accéder et utiliser les valeurs retournées.

Toute aide est grandement appréciée, Jake

PS, je sais que mon php et sql est légèrement dépassées / étrange, essentiellement parce que j'ai appris tout cela à partir MCCode il ya quelques années, mais encore, il fait le travail.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Septembre 5th, 2010, 7:35 am

  • JakeBurgh
  • Newbie
  • Newbie
  • No Avatar
  • Inscription: Sep 05, 2010
  • Messages: 5
  • Status: Offline

Message Septembre 6th, 2010, 5:47 am

Problème résolu.

PHP Code: [ Select ]
$home=$_POST['home'];
print "$home[0]";
print "$home[1]";
 
  1. $home=$_POST['home'];
  2. print "$home[0]";
  3. print "$home[1]";
  4.  


$ Home [0] renvoie ensuite le playerid du premier joueur sélectionné, $ home [1], la seconde, etc etc
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Septembre 6th, 2010, 11:34 am

Merci de poster la solution, n'a de sens car il sonne comme s'il $ _POST ["home"] est juste un tableau de valeurs. Heureux que vous avez pu le découvrir par vous-même. Il suffit donc de renvoi, vous devriez être en mesure d'accéder à la variable comme ceci aussi bien:

PHP Code: [ Select ]
print $_POST['home'][0];
print $_POST['home'][1];
  1. print $_POST['home'][0];
  2. print $_POST['home'][1];
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Septembre 7th, 2010, 2:48 am

Si vous ne savez pas combien de $ _POST ["points d'accueil]« il y aura dans ce tableau, vous pouvez utiliser une boucle foreach pour boucle à travers eux, comme suit:

PHP Code: [ Select ]
<?php
  foreach($_POST['home'] as $key=>$value){
    //do something here
  }
?>
  1. <?php
  2.   foreach($_POST['home'] as $key=>$value){
  3.     //do something here
  4.   }
  5. ?>
Let's leave all our *plum* where it is and go live in the jungle ...

Afficher de l'information

  • Total des messages de ce sujet: 4 messages
  • Utilisateurs parcourant ce forum: ScottG et 260 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC