Je cherche mon erreur unexpected 'AND' (T_LOGICAL_AND)
Résolu
chatvertdusud
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
-
chatvertdusud Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
chatvertdusud Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Qui voit mon erreur ?
Merci si vous trouvez, sinon merci quand même ;-)
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Qui voit mon erreur ?
<?php if ( get_post_meta( $post->ID, 'price', true ) ) cp_get_price_legacy( $post->ID ); else cp_get_price( $post->ID, 'cp_price' ); ?></p> //je pense qu'elle ce trouve ci-dessous mais où ?? <?php if (empty($price) AND ($price>5 && $price<300000)) AND ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) ?>
Merci si vous trouvez, sinon merci quand même ;-)
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
A voir également:
- Je cherche mon erreur unexpected 'AND' (T_LOGICAL_AND)
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Disk boot failure insert system disk and press enter - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
3 réponses
Bonjour,
Tu fermes une parenthèse trop top...
et perso je préfère utiliser les && au lieu des AND
Cordialement,
Jordane
Tu fermes une parenthèse trop top...
et perso je préfère utiliser les && au lieu des AND
<?php if ( !empty($price) && ($price>5 && $price<300000) && ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) } ?>
Cordialement,
Jordane
Il y avait une autre erreur que je n'avais pas vu ...
voici :
Cordialement,
Jordane
voici :
<?php if ( get_post_meta( $post->ID, 'price', true ) ){ cp_get_price_legacy( $post->ID ); }else{ cp_get_price( $post->ID, 'cp_price' ); echo "</p>"; } if ( !empty($price) && ( $price>5 && $price<300000 ) && ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) } ?>
Cordialement,
Jordane
merci Jordan pour la correction,
il y avait une parenthèse ' )' en trop à la fin que j'ai enlevé, cependant je n'arrive toujours pas à faire ce que je cherche...
Il m'affiche la variable cp_en_change_de_ uniquement si la variable cp_price est remplie.
Moi je cherche à faire l'inverse: Si le champ cp_price est vide, il affiche cp_en_change_de_
il y avait une parenthèse ' )' en trop à la fin que j'ai enlevé, cependant je n'arrive toujours pas à faire ce que je cherche...
Il m'affiche la variable cp_en_change_de_ uniquement si la variable cp_price est remplie.
Moi je cherche à faire l'inverse: Si le champ cp_price est vide, il affiche cp_en_change_de_
Tu veux dire dans cette condition ?
Le truc .. c'est que si $price est vide ... alors il ne peut pas être >5 ou <3000000 .....
A moins que toi tu veuilles que la condition se vérifie si il est vide OU >5 ... et donc .. utiliser des OR à la place des AND...
et donc.. ça donnerait un truc du genre:
if ( !empty($price) && ( $price>5 && $price<300000 ) && ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) }...
Le truc .. c'est que si $price est vide ... alors il ne peut pas être >5 ou <3000000 .....
A moins que toi tu veuilles que la condition se vérifie si il est vide OU >5 ... et donc .. utiliser des OR à la place des AND...
et donc.. ça donnerait un truc du genre:
if ( empty($price) || ( $price>5 && $price<300000 ) || ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) }
inferieur à 5 ou supérieur à 300000
Ben.. dans ce cas... tu t'es un peu trompé dans le sens de tes signes supérieur/inférieur...
et là encore.. ça sera des OU qu'il faut utiliser et non des ET !!!!
if ( empty($price) || ( $price<5 || $price>300000 ) || ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);) }
function cp_remove_loop_price() {
global $post;
if ( $post->post_type == 'page' || $post->post_type == 'post' ) return;
$price = get_post_meta($post->ID, 'cp_price', true);
if (!empty($price) AND ($price>5 && $price<300000)){
?>
<div class="price-wrap">
<span class="tag-head"> </span><p class="post-price">
<?php
if ( get_post_meta( $post->ID, 'price', true ) ){
cp_get_price_legacy( $post->ID );
}else{
cp_get_price( $post->ID, 'cp_price' );
echo "</p>";
}
if ( empty($price)
|| ( $price<5 || $price>300000 )
|| ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) {
echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13);
}
?>
1 - .. merci de mettre le LANGAGE dans les balises de code...
<code php>
<?php // ceci est du code !
</code>
2 - Tu ne nous a pas donné le code complet de ta fonction
3 - Il semble que tu aies un IF qui ne soit pas fermé ... et ce if .. contient :
.. donc... $prince NON VIDE .... et donc en gros.. tu ne rentres jamais dans ton autre if !
<code php>
<?php // ceci est du code !
</code>
2 - Tu ne nous a pas donné le code complet de ta fonction
3 - Il semble que tu aies un IF qui ne soit pas fermé ... et ce if .. contient :
if (!empty($price) AND ($price>5 && $price<300000)){
.. donc... $prince NON VIDE .... et donc en gros.. tu ne rentres jamais dans ton autre if !
A mon avis tu avais simplement oublié de fermer le if
PS : Au passage .. je rappel que ceci n'a plus rien à voir avec ta question INITIALE .. et donc que logiquement tu aurais du ouvrir un NOUVELLE discussion (en pensant à mettre en résolu celle là. )
Cela facilite la lecture sur le forum et les recherches par les futurs internautes ....
function cp_remove_loop_price() { global $post; if ( $post->post_type == 'page' || $post->post_type == 'post' ) return; $price = get_post_meta($post->ID, 'cp_price', true); if (!empty($price) AND ($price>5 && $price<300000)){ echo '<div class="price-wrap">'; echo '<span class="tag-head"> </span><p class="post-price">'; } if ( get_post_meta( $post->ID, 'price', true ) ){ cp_get_price_legacy( $post->ID ); }else{ cp_get_price( $post->ID, 'cp_price' ); echo "</p>"; } if ( empty($price) || ( $price<5 || $price>300000 ) || ( get_post_meta( $post->ID, 'cp_en_change_de_', true ) ) ) { echo substr(get_post_meta($post->ID, 'cp_en_change_de_', true), 0, 13); }
PS : Au passage .. je rappel que ceci n'a plus rien à voir avec ta question INITIALE .. et donc que logiquement tu aurais du ouvrir un NOUVELLE discussion (en pensant à mettre en résolu celle là. )
Cela facilite la lecture sur le forum et les recherches par les futurs internautes ....
Décidément tu es toujours là prêt à partager tes connaissances ;-)
j'ai toujours une erreur ..
syntax error, unexpected '{'
et si j'enlève les { j'ai une autre erreur avec echo ??