Comment faire une requête pour des tables en relation?

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 : Comment faire une requête pour des tables en relation?

par Sebe » 23 janv. 2006, 14:25

Salut,

Ben oui, je dois aimer me faire désirer ... je m'en occupe desssssssssssssssssssssssssssuite!

A+

par Truc » 23 janv. 2006, 01:53

Bon, une chose de faite :wink:

n'oublis pas de marquer le sujet en [Résolu] pour terminer sur une bonne note et après on a bien mérité un :boire9:

par Sebe » 23 janv. 2006, 01:37

Yesssss!

L'erreur venait d'une ligne en trop qui était dans la page kainbuye.php (réservé aux paramétres de connection)! Cette ligne était du html et faisait référence à CSS. Inutile de se trouver là mais Dreamweaver en avait décidé autrement ... je dois la solution à Truc !

Juste encore une chose pour dire (c'est pour les autres 'Dreamweaverien' ), Cyrano m'a démontré les limites de la programmation tel que je le faisais (essayé de comprendre ensuite) ... sachant à peine marcher j'essayais déjà de courir :roll:

Merci à tous

par Sebe » 22 janv. 2006, 15:29

Salut,

J'ai regardé le fichier "kainbuye.php" et j'ai trouvé un espace en fin de 1er ligne mais si je l'enléve ... le message ne change pas !

La grosse erreur que j'ai commis depuis le début est d'utiliser Dreamweaver ... je ne comprend pas toujours ce qu'il fait comme l'instruction à la ligne en question [sprintf]!

Donc, je cherche dans les lecture que Cyrano m'a refilé!

Merci

par Truc » 22 janv. 2006, 14:49

si c'est toujours le même message d'erreur je te conseil de jetter un oeil au fichier "kainbuye.php" à la ligne 2 (ou 1) tu dois avoir un affichage ou espace à cet endroit.

par Cyrano » 22 janv. 2006, 12:32

Regarde ceci que je viens de répondre sur un autre message, ça peut s'appliquer à n'impote qui et si tu suis cette méthode, tu avanceras certainement de façon non seulement plus rapide mais également plus autonome ;)

par Sebe » 22 janv. 2006, 12:28

Sebe, je salue ici la patience infinie de Truc. Tu ne fais rien pour l'aider dans tes réponses. Dire que tu as un message d'erreur différent du précédent, c'est bien, mais complètement sans intérêt si tu n'affiches pas dans la foulée le nouveau message au complet accompagné des lignes de code indiquées.
Je me suis mal exprimé en disant 'ligne autre' ... je voulais dire que j'ai corrigé l'erreur à une ligne hors qu'il m'est indiqué un autre numéro de ligne ... le message d'erreur n'a donc pas changé! Je sais que je suis très brouillons et c'est certainement dù au fait que j'ai bruler des étapes!
Tu en es à 6 pages sur ce sujet et j'ai abandonné depuis un moment. Un problème doit être isolé pour être résolu et si un nouveau problème apparaît, il doit faire l'objet d'un nouveau sujet.
Tu as raison ... je n'ai pas l'intention de te mettre en doute sauf quand tu dis que tu as abandonné! Ben oui, tu viens de répondre 8)
Pour info, je n'ai pas voulu mutliplier les sujets ... j'avais un peu peur que l'on perde le fil de cette serie de pages tournant autour de la même chose!
Juste une chose, toi aussi tu m'as beaucoup aidé pour la réalisation de mes tables (conception, fonctionnement, ...) et j'en suis au stade où je pense à d'autres dévellopements que je pourrais faire seul! Néanmoins, j'espère que tu continueras à m'aiguiller :?:
Que tu aies besoin d'un coup de pouce, ça ne pose aucun problème, mais fais un minimum d'effort de ton coté.
Là, je t'inscris en faut! Quand tu regardes mes 1er messages où j'employais un éditeur à tour de bras et maintenant où j'essaye moi-même de faire un encodage ... je parcours aussi ce forum pour trouver les mêmes problèmes que moi pour trouver des astuces!

Je n'ai pas l'intention de faire le malheureux et si tu trouves que j'arrache le sac en multipliants mes demandes ... !

En tout cas un MERCI pour l'aide déjà fournit

par Cyrano » 22 janv. 2006, 11:50

Sebe, je salue ici la patience infinie de Truc. Tu ne fais rien pour l'aider dans tes réponses. Dire que tu as un message d'erreur différent du précédent, c'est bien, mais complètement sans intérêt si tu n'affiches pas dans la foulée le nouveau message au complet accompagné des lignes de code indiquées. Tu en es à 6 pages sur ce sujet et j'ai abandonné depuis un moment. Un problème doit être isolé pour être résolu et si un nouveau problème apparaît, il doit faire l'objet d'un nouveau sujet.

Que tu aies besoin d'un coup de pouce, ça ne pose aucun problème, mais fais un minimum d'effort de ton coté.

par Sebe » 22 janv. 2006, 11:42

Salut,

Javais bien fait ce que tu m'avais dit de faire mais malheureusement cela ne fonctionnait pas! C'est pourquoi, pensant que j'avais encore compris de travers, j'ai demandé plus d'expliquation sur la FAQ ... chose d'autant plus bizarre, c'est qu'il me renvois l'erreur à une ligne autre!

Merci

par Truc » 22 janv. 2006, 00:49

En clair,il faut faut rien avant un HEADER!!

Pas de:
1. code HTML
2. echo
3. saut de ligne
4. affichage quelconque

et ma question reste toujours ouverte du coup:
il n'y a plus d'erreur si tu racourcis le code, en nlevant ?><?php qui se suivent ?
Tu avais (as) ce code:
<?php require_once('../Connections/kainbuye.php'); ?>
<?php
function GetSQLValueString...
il y a donc un saut de ligne entre
(...)kainbuye.php'); ?> et <?php function (...)

suffit donc de supprimer les balises php en trop

par Sebe » 22 janv. 2006, 00:29

J'ai bien lu ton lien et j'ai compris qu'il y avait un problème mais une petite traduction s'impose ](*,)
EasyPHP 1.7 active une buffarisation de sortie. C'est à dire qu'elle conserve toute sortie vers le client jusqu'à concurence d'une certaine taille. Or, cela a pour effet qu'aucun texte n'est envoyé vers le client et ce, même si vous faites un echo ou insérer du code HTML. En utilisant header, aucune erreur ne sera générée à cause de cette option. Cependant, cette possiblité est à utiliser avec précaution car ce n'est pas tous les serveurs qui activent la buffarisation de sortie.
Mon problème est que je n'ai pas commencé par le début ... j'ai pris le train (création de site) en marche! J'ai envie d'apprendre mais il fallait que cela aille vite donc j'ai dù louper un chapître où l'on parlait de ce genre d'erreur, où l'on mettait des mots plus simple :boire4:

Sorry, peux-tu me donner pour le complément d'information?

Merci

par Truc » 21 janv. 2006, 23:59

Et je ne vois pas vers quoi tu veux m'envoyer (FAQ) ... je ne comprend pas pourquoi il me met ce message d'erreur!
la FAQ (foire aux questions)
(...)je vais donc alléger mon code sur toutes mes pages!
il n'y a plus d'erreur si tu racourcis le code, en nlevant ?><?php qui se suivent ?[/quote]

par Sebe » 21 janv. 2006, 22:41

inutile de mettre tout ce code ! et une image pour l'erreur...
Pour la futur question du jour ... si! Y'a une bricole qui me gêne mais ce sera pour plus tard (je lis encore pour essayer de trouver la solution)
Le message aurait suffit :wink:
Ce message correspond au Header de la ligne 49 ! Il y a ce qu'il faut dans la FAQ pour comprendre alors je ne m'attarde pas.
J'ai bien essayé de remplacer le %s par %d mais cela ne marchand pas, j'ai posé la question. Et je ne vois pas vers quoi tu veux m'envoyer (FAQ) ... je ne comprend pas pourquoi il me met ce message d'erreur!
enlève cette "jointure" de balises php:
<?php require_once('../Connections/kainbuye.php'); ?>
<?php
function GetSQLValueString...
Toutes mes pages commencent ainsi car j'ai fait mes débuts avec Dreamweaver et je répéte ce que j'ai appris .... je vais donc alléger mon code sur toutes mes pages!

Merci

par Truc » 20 janv. 2006, 22:41

inutile de mettre tout ce code ! et une image pour l'erreur... Le message aurait suffit :wink:

Ce message correspond au Header de la ligne 49 ! Il y a ce qu'il faut dans la FAQ pour comprendre alors je ne m'attarde pas.

enlève cette "jointure" de balises php:
<?php require_once('../Connections/kainbuye.php'); ?>
<?php
function GetSQLValueString...
:arrow:
<?php require_once('../Connections/kainbuye.php');
function GetSQLValueString...

par Sebe » 20 janv. 2006, 21:05

Visiblement cela fonctionne car les données sont encodées dans la tables sauf que j'ai un message d'erreur!
L'idée est de faire l'enregistrement (page 3) et de revenir à la page (2) qui permet de lister les affectations avec la variable 'part' mais ...

Image

Voici mon code
<?php require_once('../Connections/kainbuye.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO acrho_changement (acrho_club_id_club, acrho_participant_ID_participant, annee, dossard, acrho_categorie_ID_categorie) VALUES (%s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['club'], "int"),
                       GetSQLValueString($_POST['participant'], "int"),
                       GetSQLValueString($_POST['annee'], "date"),
                       GetSQLValueString($_POST['dossard'], "int"),
                       GetSQLValueString($_POST['categorie'], "int"));

  mysql_select_db($database_kainbuye, $kainbuye);
  $Result1 = mysql_query($insertSQL, $kainbuye) or die(mysql_error());

  $insertGoTo = "affectation.php?part=" . $row_participant['ID_coureur'] . "";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$colname_participant = "-1";
if (isset($_GET['part'])) {
  $colname_participant = (get_magic_quotes_gpc()) ? $_GET['part'] : addslashes($_GET['part']);
}
mysql_select_db($database_kainbuye, $kainbuye);
$query_participant = sprintf("SELECT ID_coureur, nom, prenom FROM acrho_participant WHERE ID_coureur = %s", $colname_participant);
$participant = mysql_query($query_participant, $kainbuye) or die(mysql_error());
$row_participant = mysql_fetch_assoc($participant);
$totalRows_participant = mysql_num_rows($participant);

mysql_select_db($database_kainbuye, $kainbuye);
$query_club = "SELECT * FROM acrho_club ORDER BY nom_cub ASC";
$club = mysql_query($query_club, $kainbuye) or die(mysql_error());
$row_club = mysql_fetch_assoc($club);
$totalRows_club = mysql_num_rows($club);

mysql_select_db($database_kainbuye, $kainbuye);
$query_categorie = "SELECT id_categorie, nom_categorie, sexe FROM acrho_categorie ORDER BY age_min ASC";
$categorie = mysql_query($query_categorie, $kainbuye) or die(mysql_error());
$row_categorie = mysql_fetch_assoc($categorie);
$totalRows_categorie = mysql_num_rows($categorie);

mysql_select_db($database_kainbuye, $kainbuye);
$query_chang = "SELECT * FROM acrho_changement";
$chang = mysql_query($query_chang, $kainbuye) or die(mysql_error());
$row_chang = mysql_fetch_assoc($chang);
$totalRows_chang = mysql_num_rows($chang);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nouvelle affectation</title>
</head>

<body>
<table width="565" border="0" cellpadding="0" cellspacing="0" class="cosmic18">
  <!--DWLayoutTable-->
  <tr>
    <td width="40" height="23">&nbsp;</td>
    <td width="475">&nbsp;</td>
    <td width="50">&nbsp;</td>
  </tr>
  <tr>
    <td height="26" colspan="3" valign="top"><div align="center">Ajouter l'affectation &agrave; <strong><?php echo $row_participant['prenom']; ?> <?php echo $row_participant['nom']; ?></strong></div></td>
  </tr>
  <tr>
    <td height="25">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="35">&nbsp;</td>
    <td valign="top"><form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
      <table width="100%" border="1">
        <tr>
          <td>Ann&eacute;e</td>
		  <td><label>
            <select name="annee" id="annee">
            <option value="1983">1983</option>
            <option value="1984">1984</option>
            <option value="1985">1985</option>
            <option value="1986">1986</option>
            <option value="1987">1987</option>
            <option value="1988">1988</option>
            <option value="1989">1989</option>
            <option value="1990">1990</option>
            <option value="1991">1991</option>
            <option value="1992">1992</option>
            <option value="1993">1993</option>
            <option value="1994">1994</option>
            <option value="1995">1995</option>
            <option value="1996">1996</option>
            <option value="1997">1997</option>
            <option value="1998">1998</option>
            <option value="1999">1999</option>
            <option value="2000">2000</option>
            <option value="2001">2001</option>
            <option value="2002">2002</option>
            <option value="2003">2003</option>
            <option value="2004">2004</option>
            <option value="2005">2005</option>
            <option value="2006">2006</option>
            <option value="2007">2007</option>
            <option value="2008">2008</option>
            <option value="2009">2009</option>
            <option value="2010">2010</option>
            </select>
            <input name="participant" type="hidden" id="participant" value="<?php echo $row_participant['ID_coureur']; ?>" />
		  </label></td>
        </tr>
        <tr>
          <td>Dossard</td>
          <td><label>
            <input name="dossard" type="text" id="dossard" size="5" maxlength="5" />
          </label></td>
        </tr>
        <tr>
          <td>Club</td>
          <td><label>
            <select name="club" id="club">
              <?php
do {  
?><option value="<?php echo $row_club['id_club']?>"<?php if (!(strcmp($row_club['id_club'], $row_chang['acrho_club_id_club']))) {echo "selected=\"selected\"";} ?>><?php echo $row_club['nom_cub']?></option>
              <?php
} while ($row_club = mysql_fetch_assoc($club));
  $rows = mysql_num_rows($club);
  if($rows > 0) {
      mysql_data_seek($club, 0);
	  $row_club = mysql_fetch_assoc($club);
  }
?>
            </select>
          </label></td>
        </tr>
        <tr>
          <td>Cat&eacute;gorie</td>
          <td><label>
            <select name="categorie" id="categorie">
              <?php
do {  
?><option value="<?php echo $row_categorie['id_categorie']?>"<?php if (!(strcmp($row_categorie['id_categorie'], $row_chang['acrho_categorie_ID_categorie']))) {echo "selected=\"selected\"";} ?>><?php echo $row_categorie['nom_categorie']?></option>
              <?php
} while ($row_categorie = mysql_fetch_assoc($categorie));
  $rows = mysql_num_rows($categorie);
  if($rows > 0) {
      mysql_data_seek($categorie, 0);
	  $row_categorie = mysql_fetch_assoc($categorie);
  }
?>
            </select>
          </label></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><label>
            <input type="submit" name="Submit" value="Ajouter l'affectation" />
          </label></td>
        </tr>
      </table>
      <input type="hidden" name="MM_insert" value="form1">
    </form>
    
    </td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="299">&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html><?php
mysql_free_result($participant);

mysql_free_result($club);

mysql_free_result($categorie);

mysql_free_result($chang);
?>
Merci