Recuperer chaine de caractères SQL/PHP
Résolu/Fermé
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
-
24 janv. 2008 à 12:15
le père - 26 janv. 2008 à 12:22
le père - 26 janv. 2008 à 12:22
A voir également:
- Recuperer chaine de caractères SQL/PHP
- Caractères ascii - Guide
- Recuperer video youtube - Guide
- Recuperer message whatsapp supprimé - Guide
- Impossible de récupérer mon compte gmail - Guide
- Chaine tnt gratuite sur mobile - Guide
21 réponses
Question très idiote : est-il possible que tes textes commencent systématiquement par des caractères invisibles (espaces, tab...)
<?php
$contenu =stripslashes($donnees['contenu']);
echo $contenu;
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo strlen($contenu),' ',$contenu;
?>
<?php
$contenu =stripslashes($donnees['contenu']);
echo $contenu;
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo strlen($contenu),' ',$contenu;
?>
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
24 janv. 2008 à 12:44
24 janv. 2008 à 12:44
et bizarrement, ce code là ne me renvoie rien (meme pas de message d'erreur)
<?php
$contenu = substr(nl2br(stripslashes($donnees['contenu'])),0,20);
echo $contenu;
?>
<?php
$contenu = substr(nl2br(stripslashes($donnees['contenu'])),0,20);
echo $contenu;
?>
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
24 janv. 2008 à 13:29
24 janv. 2008 à 13:29
personne n'a d'idée ???
fais d'abord un echo "Phrase origine: ".$donnees['contenu'];
pour voir si tu as bien une valeur la dedans.
pour voir si tu as bien une valeur la dedans.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
24 janv. 2008 à 13:37
24 janv. 2008 à 13:37
oui, j'ai bien une valeur, pas de soucis.
mais le substr ne marche pas (et le left me renvoie une erreur)
je précise que je travaille sur une base mysql
mais le substr ne marche pas (et le left me renvoie une erreur)
je précise que je travaille sur une base mysql
Essayes en faisant sans les autres fonctions et en changeant le nom de la variable $contenu :
a quoi te sert le nl2br à ce niveau là ?
$contenu_mod = substr($donnees['contenu'],0,20);
a quoi te sert le nl2br à ce niveau là ?
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 10:12
25 janv. 2008 à 10:12
nl2br sert à rien...
Et j'ai simplifié au max (sans stripslashes ni nl2br)
J'ai aussi renommé
J'ai donc :
$contenu_mod = substr($donnees['contenu'],0,20);
echo $contenu_mod;
Résultat : avec substr ça ne marche pas...
Ya un soucis entre substr et Mysql ?
Franchement, je ne vois pas du out ce qui pourrait bugger...
Et j'ai simplifié au max (sans stripslashes ni nl2br)
J'ai aussi renommé
J'ai donc :
$contenu_mod = substr($donnees['contenu'],0,20);
echo $contenu_mod;
Résultat : avec substr ça ne marche pas...
Ya un soucis entre substr et Mysql ?
Franchement, je ne vois pas du out ce qui pourrait bugger...
Bonjour
Ya un soucis entre substr et Mysql ?
Non, il n'y a aucun souci entre substr et mysql.
Si tu fais
$contenu = substr($donnees['contenu'],0,20);
echo $contenu;
et qu'il y a bien quelque chose (texte non vide ou nombre) dans $donnes['contenu'], je te jure que ça affiche quelque chose
Au message 4, tu dis qu'il y a bien une valeur, pas de soucis. As-tu bien fait en echo pour en être sûr ?
Ya un soucis entre substr et Mysql ?
Non, il n'y a aucun souci entre substr et mysql.
Si tu fais
$contenu = substr($donnees['contenu'],0,20);
echo $contenu;
et qu'il y a bien quelque chose (texte non vide ou nombre) dans $donnes['contenu'], je te jure que ça affiche quelque chose
Au message 4, tu dis qu'il y a bien une valeur, pas de soucis. As-tu bien fait en echo pour en être sûr ?
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 10:30
25 janv. 2008 à 10:30
Je suis retourné voir dans ma base :
contenu est de type text. je l'ai modifié en varchar (histoire de...), mais ça change rien, ça n'affiche rien.
Ca ca n'affiche rien (meme en remplaçant $contenu par $autre_nom :
$contenu = substr($donnees['contenu'],0,20);
echo $contenu;
Ca ca m'affiche le contenu du champ contenu sans pb :
$contenu = $donnees['contenu'];
echo $contenu;
Dois-je mettre un type précis ou pas ?
Et chez moi, je te jure que ça n'affiche rien. Je te jure aussi que je trouve ça incompréhensible.
...
contenu est de type text. je l'ai modifié en varchar (histoire de...), mais ça change rien, ça n'affiche rien.
Ca ca n'affiche rien (meme en remplaçant $contenu par $autre_nom :
$contenu = substr($donnees['contenu'],0,20);
echo $contenu;
Ca ca m'affiche le contenu du champ contenu sans pb :
$contenu = $donnees['contenu'];
echo $contenu;
Dois-je mettre un type précis ou pas ?
Et chez moi, je te jure que ça n'affiche rien. Je te jure aussi que je trouve ça incompréhensible.
...
echo et substr n'ont AUCUN rapport avec mysql
As-tu bien fait echo $donnes['contenu'] pour voir s'il y a quelque chose dedans comme tu l'affirmes au message 4 ? La réponse à cette question est essentielle.
As-tu bien fait echo $donnes['contenu'] pour voir s'il y a quelque chose dedans comme tu l'affirmes au message 4 ? La réponse à cette question est essentielle.
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 10:40
25 janv. 2008 à 10:40
oui oui, il y a bien qq chose, ça m'affiche sur ma page (simplifié bien sur) :
contenu_1_du_blabla
contenu_2_du_blabla
contenu_3_du_blabla
contenu_4_du_blabla
Le contenu n'est donc pas vide ça c'est sur sur sur je le vois sur ma page...
Contenu contient des espaces entre les mots (c'est des phrases quoi)
substr ne gérerai pas les espaces ?
..
contenu_1_du_blabla
contenu_2_du_blabla
contenu_3_du_blabla
contenu_4_du_blabla
Le contenu n'est donc pas vide ça c'est sur sur sur je le vois sur ma page...
Contenu contient des espaces entre les mots (c'est des phrases quoi)
substr ne gérerai pas les espaces ?
..
Arrête de chercher des erreurs dans php ou mysql, 99,9999% de chances (et encore je suis gentil) que ce soit ton script. Peux tu montrer ce script ?
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 11:15
25 janv. 2008 à 11:15
sans pb, je te mets le script qui fonctionne (en gras, le pb)
En fait je souhaite faire afficher le début de ma news et qu'en cliquant dessus, on se retrouve sur ma page news...
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("db");
// On récupère la dernière news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div id="derniere_news">
<h2>Dernière News</h2>
<A HREF="news.php">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = stripslashes($donnees['contenu']);
echo $contenu;
?>
</p>
</A>
</div>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
En fait je souhaite faire afficher le début de ma news et qu'en cliquant dessus, on se retrouve sur ma page news...
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("db");
// On récupère la dernière news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div id="derniere_news">
<h2>Dernière News</h2>
<A HREF="news.php">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = stripslashes($donnees['contenu']);
echo $contenu;
?>
</p>
</A>
</div>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
Il est où le substr qui te pose un problème ?
Si tu n'affiches rien avec ce script, c'est qu'il n'y a rien dans $donnees['contenu']
Peux-tu voir ce qu'il y a dans le champ contenu par phpmyadmin par exemple?
Le champ s'appelle-t-il bien 'contenu' tout en minuscules ?
Si tu n'affiches rien avec ce script, c'est qu'il n'y a rien dans $donnees['contenu']
Peux-tu voir ce qu'il y a dans le champ contenu par phpmyadmin par exemple?
Le champ s'appelle-t-il bien 'contenu' tout en minuscules ?
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 11:41
25 janv. 2008 à 11:41
le script précédent m'affiche bien mon champ pas de problème ça marche et donc dans php my admin, j'ai bien qqchose (j'ai vérifié).
le script suivant ne m'affiche pas les 20 1eres caractères de mon champ. Il ne m'affiche rien :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("db");
// On récupère la dernière news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div id="derniere_news">
<h2>Dernière News</h2>
<A HREF="news.php">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo $contenu;
?>
</p>
</A>
</div>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
le script suivant ne m'affiche pas les 20 1eres caractères de mon champ. Il ne m'affiche rien :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("db");
// On récupère la dernière news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 1');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div id="derniere_news">
<h2>Dernière News</h2>
<A HREF="news.php">
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo $contenu;
?>
</p>
</A>
</div>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
J'avoue que je commence à trouver ça mystérieux moi aussi.
mets dans le même script le echo avec et sans substr
<?php
$contenu =stripslashes($donnees['contenu']);
echo $contenu;
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo $contenu;
?>
mets dans le même script le echo avec et sans substr
<?php
$contenu =stripslashes($donnees['contenu']);
echo $contenu;
$contenu = substr(stripslashes($donnees['contenu']),0,20);
echo $contenu;
?>
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 12:36
25 janv. 2008 à 12:36
Réponse d'un idiot : oui... mdr (un rire jaune)
Bon, bah vraiment dsl de t'avoir fait perdre ton temps pour ça
bonne journée
Bon, bah vraiment dsl de t'avoir fait perdre ton temps pour ça
bonne journée
dsl de t'avoir fait perdre ton temps
Pas de problème, si je suis ici c'est que je suis maso :-))
Pense à utiliser trim pour virer les espaces gênants
Pas de problème, si je suis ici c'est que je suis maso :-))
Pense à utiliser trim pour virer les espaces gênants
Jean_2
Messages postés
245
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
12
25 janv. 2008 à 13:23
25 janv. 2008 à 13:23
ok, je fais une recherche google sur trim
merci à toi
merci à toi