Unicité des réponse mySQL

matt974 -  
 matt974 -
Bonjour,

Je voulais savoir s'il était possible d'assurer une unicité des propositions retourner dans mySQL.

Je m'explique: j'ai une table qui regroupe le nom de l'objet, catégorie, utilisateurs; et un objet peux avoir plusieurs utilisateur, donc il apparaît plusieurs fois dans la base.

J'aimerais faire liste des objets, mais que chacun n'apparaissent qu'une seule fois.

Je voulais savoir si c'était possible, et comment faire.
A voir également:

6 réponses

sly-bzh Messages postés 417 Statut Membre 118
 
Si je comprend bien dans ta base tu as par exemple comme objet :
chaise, chaise, table, verre, table, chaise, verre, table, verre.

Et tu voudrais obtenir : chaise, table, verre.

Si c'est ça tu peux faire un : "SELECT DISTINCT objet FROM ...."
0
matt974
 
C'est exactement ça. Merci

Matthias
0
matt974
 
Rebonjour,

en faite, en utilisant cette commande, j'ai un problème dans mon script, si quelqu'un peut me dire où:

<?php

$sqls = "SELECT DISTINCT depapt, depicao FROM international ORDER BY depapt";

//On envoie la requête

$reqs = mysql_query($sqls);

//On fait une boucle

$id = "0" ;

while($vals = mysql_fetch_array($reqs))

{

$id = bcadd("1", $id);

?>
<option value="<?php echo $id ?>"><?php echo $vals['depapt'] ?> (<?php echo $vals['depicao'] ?>)</option>
<?php

}

?>
</select>

<br>

<br>

<br>
<div style="position:relative;top:0">

<div id="div0" name="vide" style="visibility:visible;position:absolute;top:0">
<big style="font-weight: bold;">Choisisez un aéroport de départ<br>
<br>
</big></small></span></big>

</div>

<?php

$sqlo = "SELECT DISTINCT depapt, depicao FROM international ORDER BY depapt";

//On envoie la requête

$reks = mysql_query($sqlo);

//On fait une boucle

$ids = "0" ;

while($var = mysql_fetch_array($reks))

{

$ids = bcadd("1", $ids);

?>

<div id="div<?php echo $ids ?>" name="<?php echo $var['depapt'] ?>" style="visibility:hidden;position:absolute;top:0">
<big style="font-weight: bold;">Vol au départ de <?php echo $var['depapt'] ?> (<?php echo $var['depicao'] ?>)<br>
<table style="text-align: left; width: 913px; height: 69px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Numéro de vol</td>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Aéroport</td>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Code ICAO</td>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Appareil(s)</td>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Temps de vol</td>
<td style="color: rgb(0, 0, 153); text-align: center; font-weight: bold;">Feuille de route</td>
</tr>
<?php

$sql = "SELECT numero, arrapt, arricao, aircraft, flighttime, rapport FROM classique WHERE depicao='$var['depicao']' ORDER BY arrapt";

//On envoie la requête

$req = mysql_query($sql);

//On fait une boucle

while($val = mysql_fetch_array($req))

{

?>
<tr>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['numero'] ?></td>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['arrapt'] ?></td>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['arricao'] ?></td>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['aircraft'] ?></td>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['flighttime'] ?></td>
<td style="color: rgb(0, 204, 204); text-align: center;"><?php echo $val['rapport'] ?></td>
</tr>
<?php

}

?>
</tbody>
</table>
<br>
</big></small></span></big>

</div>

<?php

}

mysql_close();

?>

Merci d'avance

Matthias
0
matt974
 
le message d'erreur est le suivant:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\www\vaaustral.net\htdocs\test.php on line 261
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sly-bzh Messages postés 417 Statut Membre 118
 
Bonjour,

es-tu sûr que le message d'erreur correspond au code ci-dessus, parceque en le regardant un peu (vite fait mais quand même) je n'ai pas vu d'erreurs.
En plus ta parse_error parle d'une ligne 261 or il n'y en a que 128 dans le code que tu as donné...
0
matt974
 
En faite j'ai tronqué la zone qui pose un problème, car sans cette partie, la page fonction parfaitement

La ligne 261 correspond à la ligne après le second while.

Matthias
0
sly-bzh Messages postés 417 Statut Membre 118
 
Essaye de remplacer
$sql = "SELECT numero, arrapt, arricao, aircraft, flighttime, rapport FROM classique WHERE depicao='$var['depicao']' ORDER BY arrapt";

Par : $depicao = $var['depicao'];
$sql = "SELECT numero, arrapt, arricao, aircraft, flighttime, rapport FROM classique WHERE depicao='$depicao' ORDER BY arrapt";
0
matt974
 
Merci, c'est bon tout fonctionne.

Matthias
0