Page 1 sur 1

ORDER dans SELECT ne fonctionne que partiellement pour un champ

Posté : 17 févr. 2021, 04:20
par daplus77
Merci de prendre le temps de regarder

le champs acta_code et acta_descr sont tous deux des varchar.
$resultacta = mysql_query ("SELECT * FROM `activarea`"); fonctionne mais non ordonné (normal)
$resultacta = mysql_query ("SELECT * FROM `activarea` ORDER BY `acta_descr`"); fonctionne
$resultacta = mysql_query ("SELECT * FROM `activarea` ORDER BY `acta_code`"); ne fonctionne que pour une partie des données

Voici le code:


<?php

$url_cat_adr = $_POST['url_cat_adr']; //echo "url_cat_adr:$url_cat_adr<br><br>";
$url_cat_code_acta = $_POST['url_cat_code_acta']; //echo "url_cat_code_acta:$url_cat_code_acta<br><br>";
$v_substr_cat_code_acta = substr($url_cat_code_acta,0,2); //echo "v_substr_cat_code_acta:$v_substr_cat_code_acta<br><br>";

include "../include/get_root_da_erp.inc";

?>

<head>
<title>Modif Url Cat</title>
</head>
<body topmargin="0" link="blue" alink="blue" vlink="blue" bgcolor="#cc9900">

<table width="1100" border="0" align="center" bgcolor="white" height="800" cellspacing="0" cellpadding="0">
<tr><td align="center" height="65" colspan="2">

<?php

$comtext= "Modify URL Activarea";
$comtext2= "For URL = $url_cat_adr Acta code = $url_cat_code_acta";

include "../lab/include/banner.inc";

?>

</td></tr>
<tr>
<td valign="top" align="center" width ="140" bgcolor="#e6c300">

<?php

include "../lab/include/menu_vertical.inc";

?>

</td>

<td align="center" width="960" valign="top">

<table border=0>

<tr><td colspan="2">&nbsp;</td></tr>

<tr><td>

<table border='0">

<?php

$resultacta = mysql_query ("SELECT * FROM `activarea`");

while($myrowacta=mysql_fetch_array ($resultacta)) {

$v_acta_code = $myrowacta["acta_code"];
$v_substr_acta_code =substr($v_acta_code,0,2);
$v_acta_descr = utf8_encode($myrowacta["acta_descr"]);

echo "<tr><td>";

?>
<form action="activarea_cat_url_modify_db.php" method="post">

<input type="hidden" name="url_cat_adr" value="<?php echo $url_cat_adr; ?>">
<input type="hidden" name="url_cat_code_acta" value="<?php echo $url_cat_code_acta; ?>">

<input type="submit" name="actaline" style="border:none; background-color: Transparent; color:<?php echo $color; ?>; text-decoration: underline; font-family: calibri; font-size: 80%;" title="code activarea" value="<?php echo $v_acta_code; ?>">

</form>

<?php

echo "</td><td valign=top>$v_acta_descr</td></tr>";

}

?>
</table>

</td></tr></table>

</body>

</html>

Re: ORDER dans SELECT ne fonctionne que partiellement pour un champ

Posté : 17 févr. 2021, 09:26
par @rthur
$resultacta = mysql_query ("SELECT * FROM `activarea` ORDER BY `acta_code`"); // ne fonctionne que pour une partie des données
Teste ta requête dans phpmyadmin.
Si cela ne marche pas c'est probablement que tes données ont un problème, par exemple des espaces en trop en début de chaine, ou un problème d'encodage...
Mais sans nous en dire plus sur ce qui ne fonctionne pas on ne peut pas beaucoup t'aider davantage :-D

Re: ORDER dans SELECT ne fonctionne que partiellement pour un champ

Posté : 17 févr. 2021, 14:22
par daplus77
Merci @rthur

Je ne comprenais pas, j avais aussi testé la requête dans PhpAdmin et cela marchait. En fait l'erreur était dans

<table border='0">

qui devait être

<table border="0">

Maintenant ca marche

RESOLU

Merci @rthur