par
juliette » 13 nov. 2011, 13:47
alors, j'ai travaillé tard hier soir et j'ai modifié de 2 facon mais le resultat est le même dans les 2 cas
1er cas:
<table width="100%">
<?php
header('Content-type: text/html; charset=UTF-8');
mysql_connect('localhost', 'root', '');
mysql_select_db('aaaa');
if(isset($_POST['q']))
{
$q = mysql_real_escape_string (strtolower (addslashes($_POST['q'])));
$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'";
function accents($sql, $charset='utf-8')
{
$sql = htmlentities($sql, ENT_NOQUOTES, $charset);
$sql = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $sql);
$sql = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $sql); // pour les ligatures e.g. 'œ'
$sql = preg_replace('#&[^;]+;#', '', $sql); // supprime les autres caractères
return $sql;
}
$req = mysql_query($sql);
if(mysql_num_rows($req)){
while ($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td height="25px">
<a href="fiche_malinois.php?pedigre=<?php echo $dnn['id_chien']; ?>&<?php echo $dnn['nom']; ?>">
<strong><?php echo nl2br(stripslashes(accents($dnn['nom']))); ?> <?php echo nl2br(stripslashes($dnn['affixe'])); ?></strong>
</a>
</td>
<td><center><?php echo $dnn['livre']; ?> <?php echo $dnn['lof']; ?></center></td>
</tr>
<?php
}
}else{
echo '</table><br /><center><strong><font color="red">Aucun résultat</font></strong></center><br />';
}
}else
{
header('location: index.html');
}
?>
</table>
2eme cas:
<table width="100%">
<?php
header('Content-type: text/html; charset=UTF-8');
function accents($str, $charset='utf-8')
{
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
return $str;
}
mysql_connect('localhost', 'root', '');
mysql_select_db('aaaa');
if(isset($_POST['q']))
{
$q = mysql_real_escape_string (strtolower (addslashes($_POST['q'])));
$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'";
$req = mysql_query($sql);
if(mysql_num_rows($req)){
while ($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td height="25px">
<a href="fiche_malinois.php?pedigre=<?php echo $dnn['id_chien']; ?>&<?php echo $dnn['nom']; ?>">
<strong><?php echo nl2br(stripslashes(accents($dnn['nom']))); ?> <?php echo nl2br(stripslashes($dnn['affixe'])); ?></strong>
</a>
</td>
<td><center><?php echo $dnn['livre']; ?> <?php echo $dnn['lof']; ?></center></td>
</tr>
<?php
}
}else{
echo '</table><br /><center><strong><font color="red">Aucun résultat</font></strong></center><br />';
}
}else
{
header('location: index.html');
}
?>
</table>
je commence a penser que la modif doit se faire ici:
$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'";
ai je raison ?
alors, j'ai travaillé tard hier soir et j'ai modifié de 2 facon mais le resultat est le même dans les 2 cas
1er cas:
[php]<table width="100%">
<?php
header('Content-type: text/html; charset=UTF-8');
mysql_connect('localhost', 'root', '');
mysql_select_db('aaaa');
if(isset($_POST['q']))
{
$q = mysql_real_escape_string (strtolower (addslashes($_POST['q'])));
$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'";
function accents($sql, $charset='utf-8')
{
$sql = htmlentities($sql, ENT_NOQUOTES, $charset);
$sql = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $sql);
$sql = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $sql); // pour les ligatures e.g. 'œ'
$sql = preg_replace('#&[^;]+;#', '', $sql); // supprime les autres caractères
return $sql;
}
$req = mysql_query($sql);
if(mysql_num_rows($req)){
while ($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td height="25px">
<a href="fiche_malinois.php?pedigre=<?php echo $dnn['id_chien']; ?>&<?php echo $dnn['nom']; ?>">
<strong><?php echo nl2br(stripslashes(accents($dnn['nom']))); ?> <?php echo nl2br(stripslashes($dnn['affixe'])); ?></strong>
</a>
</td>
<td><center><?php echo $dnn['livre']; ?> <?php echo $dnn['lof']; ?></center></td>
</tr>
<?php
}
}else{
echo '</table><br /><center><strong><font color="red">Aucun résultat</font></strong></center><br />';
}
}else
{
header('location: index.html');
}
?>
</table>[/php]
2eme cas:
[php]<table width="100%">
<?php
header('Content-type: text/html; charset=UTF-8');
function accents($str, $charset='utf-8')
{
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
return $str;
}
mysql_connect('localhost', 'root', '');
mysql_select_db('aaaa');
if(isset($_POST['q']))
{
$q = mysql_real_escape_string (strtolower (addslashes($_POST['q'])));
$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'";
$req = mysql_query($sql);
if(mysql_num_rows($req)){
while ($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td height="25px">
<a href="fiche_malinois.php?pedigre=<?php echo $dnn['id_chien']; ?>&<?php echo $dnn['nom']; ?>">
<strong><?php echo nl2br(stripslashes(accents($dnn['nom']))); ?> <?php echo nl2br(stripslashes($dnn['affixe'])); ?></strong>
</a>
</td>
<td><center><?php echo $dnn['livre']; ?> <?php echo $dnn['lof']; ?></center></td>
</tr>
<?php
}
}else{
echo '</table><br /><center><strong><font color="red">Aucun résultat</font></strong></center><br />';
}
}else
{
header('location: index.html');
}
?>
</table>[/php]
je commence a penser que la modif doit se faire ici:
[php]$sql = "SELECT id_chien, nom, affixe, sex, livre, lof FROM chien WHERE LOWER (nom) LIKE '%$q%'"; [/php]
ai je raison ?