Une aide pour une requête php strpos dans le contexte de tableau
Résolu
Sebas22
Messages postés
110
Date d'inscription
Statut
Membre
Dernière intervention
-
Sebas22 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Sebas22 Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, Bonjour le forum,
D'abord il faut indiquer que je ne suis pas un expert (et je ne vise pas à le devenir), mais que je ne suis pas novice non plus.
J'utilise le type tableau en php-mysql et une requête type simple va s'écrire:
echo '<p>Couleur: <b>' . $resultat[0]["Couleur"] . '</b></p>';
Et çà marche en local et en ligne!
Bon maintenant j'ai une requête plus compliquée à écrire et çà se passe plutôt mal.
Il s'agit, après avoir vérifié qu'un texte dans un champ ne contient pas le caractère $, d'aller chercher une image dans un sous-dossier.
Concrètement:
le champ est Group_Abbr
le texte du champ comprend 1 à 10 caractères, dont parfois $ (et si oui, toujours à la fin)
le fichier screenmap, dans le dossier racine contient le code
<?php
if(!empty($_GET['file']))
{
$image = $_GET['file']; // A sécuriser pour ne pas lire n'importe quoi
header("Content-type: image/jpeg");
// A adapter en fonction de l'image
readfile('Cartes/'.$image);
}
else
{
// erreur pas d'image
}
?>
l'image sous forme d'une carte se trouve dans le sous-dossier Cartes
La requête est la suivante
if (strpos($resultat[0]["Group_Abbr"],'$') ===FALSE){echo '<p><img border="0" src="screenmap.php?file=" ' . $resultat[0]["Group_Abbr"] . '-map.jpg" alt="legend" title="map"</p>';} else {echo '<p>Carte: ' . $resultat[0]["Report"] . '</p>';}
En local, j'obtiens : legend
comme s'il ne trouvait pas la carte (pourtant j'ai bien vérifié, j'ai bien mon fichier screenmap.php et j'ai bien une carte correspondante si pas ‘$’)
Si par contre la chaîne contient $ alors l'instruction else marche
Quel est le souci?
J'ai cherché, cherché mais je ne trouve pas.
Un coup de main svp!
Merci d'avance
Seb
D'abord il faut indiquer que je ne suis pas un expert (et je ne vise pas à le devenir), mais que je ne suis pas novice non plus.
J'utilise le type tableau en php-mysql et une requête type simple va s'écrire:
echo '<p>Couleur: <b>' . $resultat[0]["Couleur"] . '</b></p>';
Et çà marche en local et en ligne!
Bon maintenant j'ai une requête plus compliquée à écrire et çà se passe plutôt mal.
Il s'agit, après avoir vérifié qu'un texte dans un champ ne contient pas le caractère $, d'aller chercher une image dans un sous-dossier.
Concrètement:
le champ est Group_Abbr
le texte du champ comprend 1 à 10 caractères, dont parfois $ (et si oui, toujours à la fin)
le fichier screenmap, dans le dossier racine contient le code
<?php
if(!empty($_GET['file']))
{
$image = $_GET['file']; // A sécuriser pour ne pas lire n'importe quoi
header("Content-type: image/jpeg");
// A adapter en fonction de l'image
readfile('Cartes/'.$image);
}
else
{
// erreur pas d'image
}
?>
l'image sous forme d'une carte se trouve dans le sous-dossier Cartes
La requête est la suivante
if (strpos($resultat[0]["Group_Abbr"],'$') ===FALSE){echo '<p><img border="0" src="screenmap.php?file=" ' . $resultat[0]["Group_Abbr"] . '-map.jpg" alt="legend" title="map"</p>';} else {echo '<p>Carte: ' . $resultat[0]["Report"] . '</p>';}
En local, j'obtiens : legend
comme s'il ne trouvait pas la carte (pourtant j'ai bien vérifié, j'ai bien mon fichier screenmap.php et j'ai bien une carte correspondante si pas ‘$’)
Si par contre la chaîne contient $ alors l'instruction else marche
Quel est le souci?
J'ai cherché, cherché mais je ne trouve pas.
Un coup de main svp!
Merci d'avance
Seb
A voir également:
- Une aide pour une requête php strpos dans le contexte de tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Imprimer tableau excel sur une page - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
2 réponses
Salut,
L'erreur semble simplement venir d'une erreur de syntaxe html. En effet tu ferme l'attribut src de ton image via un guillemet double juste après le paramètre file=. Il te manque également la fermeture de la balise img.
A corriger en :
En regardant le code source généré de ta page html, tu aurais pu voir que l'attribut src était mal renseigné puisque tu dois avoir quelque chose comme ceci :
à la place de :
Bonne journée,
L'erreur semble simplement venir d'une erreur de syntaxe html. En effet tu ferme l'attribut src de ton image via un guillemet double juste après le paramètre file=. Il te manque également la fermeture de la balise img.
echo '<p><img border="0" src="screenmap.php?file=" ' . $resultat[0]["Group_Abbr"] . '-map.jpg" alt="legend" title="map"</p>';
A corriger en :
echo '<p><img border="0" src="screenmap.php?file=' . $resultat[0]["Group_Abbr"] . '-map.jpg" alt="legend" title="map"></p>';
En regardant le code source généré de ta page html, tu aurais pu voir que l'attribut src était mal renseigné puisque tu dois avoir quelque chose comme ceci :
<img src="screenmap.php?file=" fichier-map.jpg" alt="legend"
à la place de :
<img src="screenmap.php?file=fichier-map.jpg" alt="legend">
Bonne journée,