Région répétée qui ne se répète pas!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Région répétée qui ne se répète pas!

par Sebe » 03 févr. 2006, 00:34

Tu ne peux pas le faire en une seule requêtte ? J'ai lu ton code, mais je n'ai pas compris à quoi sert le premier appel à la DB...
Ben voilà, je me suis appliqué pour faire cela au mieux et ça tourne comme une horloge ... merci
<?php require_once('../Connections/kainbuye.php');
$colname_course = "-1";
if (isset($_GET['class'])) {
  $colname_course = (get_magic_quotes_gpc()) ? $_GET['class'] : addslashes($_GET['class']);
}
mysql_select_db($database_kainbuye, $kainbuye);
$query_course = "SELECT t5.id_course, 
                  		t5.nom_course,
						t5.date,
						t5.lieu,
						t5.kilometrage,
						t5.nbre_part,
						t6.ID_classement,
						t6.acrho_course_id_course,
						t6.dossard,
						t6.temps,
						t6.moyenne,
						t6.place ".
				"FROM acrho_course AS t5,
				      acrho_classement AS t6 ". 
				"WHERE t5.id_course = ".$colname_course." ".
					    "AND t6.acrho_course_id_course = t5.id_course ".
						" ".
				"ORDER BY t6.temps ASC";
$course = mysql_query($query_course, $kainbuye) or die(mysql_error());
$row_course = mysql_fetch_assoc($course);
$totalRows_course = mysql_num_rows($course);
?>
NB Si je commence à t5 et t6 c'est que je vais seulement y mettre t1, t2, t3, t4 mais là c'est ici http://www.phpfrance.com/forums/viewtop ... 6870#96870

A+

par Sebe » 31 janv. 2006, 20:21

Je suis loin d'être au top pour ce genre de bidouillage mais je vais encore en rajouter une couche de requête car, si tu vas au lien, tu constateras que toutes les colonnes ne sont pas encore remplies ... ce sera pour cette semaine !

Merci pour ta remarque (j'en tiens compte pour le reste)

par iclo » 31 janv. 2006, 14:23

Tu ne peux pas le faire en une seule requêtte ? J'ai lu ton code, mais je n'ai pas compris à quoi sert le premier appel à la DB...

par Sebe » 31 janv. 2006, 13:12

Voilà qui est nettement mieux ... merci beaucoup!

par heddicmi » 31 janv. 2006, 13:07

C'est tout à fait normal... Tu boucles sur $row_course, alors que tu affiches $row_clasement... $row_classement ne change donc jamais, donc n'affiche rien d'autre que la 1ère ligne...

Région répétée qui ne se répète pas!

par Sebe » 31 janv. 2006, 12:46

Salut à tous,

Depuis un certain temps, mes nuits sont hantées par des classements de course à pied ... offrir la possibilité (à celui qui veut) de consulter des classements papier depuis 1983 (et même plus - ce sont des développements possibles!)
Je suis en phase terminale de la publication ... les classements proprement dit mais mon script n'indique que la 1er ligne du classement!
Vous pouvez vous en rendre compte http://www.kain-buyere.be classements / 2004 / jogging du printemps et pourtant j'ai encodé manuellement les 10 premiers!


Voici ma jolie requête
<?php require_once('../Connections/kainbuye.php');
$colname_course = "-1";
if (isset($_GET['class'])) {
  $colname_course = (get_magic_quotes_gpc()) ? $_GET['class'] : addslashes($_GET['class']);
}
mysql_select_db($database_kainbuye, $kainbuye);
$query_course = sprintf("SELECT * FROM acrho_course WHERE id_course = %s", $colname_course);
$course = mysql_query($query_course, $kainbuye) or die(mysql_error());
$row_course = mysql_fetch_assoc($course);
$totalRows_course = mysql_num_rows($course);

$colname_classement = "-1";
if (isset($_GET['class'])) {
  $colname_classement = (get_magic_quotes_gpc()) ? $_GET['class'] : addslashes($_GET['class']);
}
mysql_select_db($database_kainbuye, $kainbuye);
$query_classement = sprintf("SELECT * FROM acrho_classement WHERE acrho_course_id_course = %s", $colname_classement);
$classement = mysql_query($query_classement, $kainbuye) or die(mysql_error());
$row_classement = mysql_fetch_assoc($classement);
$totalRows_classement = mysql_num_rows($classement);
?>





Voici la partie de mon code qui devrait faire ce que je veux!
<?php do { ?>
      <tr>
          <td><div align="right"><?php echo $row_classement['place']; ?></div></td>
          <td><div align="right"><?php echo $row_classement['dossard']; ?></div></td>
          <td><div align="right"></div></td>
          <td><div align="right"></div></td>
          <td><div align="right"></div></td>
          <td><div align="right"></div></td>
          <td><div align="right"><?php echo $row_classement['temps']; ?></div></td>
          <td><div align="right"><?php echo $row_classement['moyenne']; ?></div></td>
          <td><div align="right"></div></td>
      </tr>
<?php } while ($row_course = mysql_fetch_assoc($course)); ?>
Quelqu'un peut-il m'aider?