[RESOLU] ORDER dans SELECT ne fonctionne que partiellement pour un champ

Eléphanteau du PHP | 10 Messages

17 févr. 2021, 04:20

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>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 févr. 2021, 09:26

$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
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 10 Messages

17 févr. 2021, 14:22

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