Je sais que je suis assez proche de cela, car j'ai reçu de l'aide sur ce sujet plus tôt, mais quand il s'agit de faire fonctionner le même code pour une autre partie du site, je ne peux pas le faire fonctionner à nouveau.Petit problème pour faire fonctionner mySQL SUBSTRING
Ce que je fais est d'essayer d'obtenir la première partie d'une chaîne (qui est rompu par un séparateur -
dans la base de données) pour que l'entrée db slug
serait foo-bar-rules
, je dois saisir foo
de cette chaîne où slug
est pas égal à foo-bar-rules
mais égal à phoo-bar-rules
ou feuw-bar-rules
. Je suis désolé si mon explication n'était pas très utile, j'ai eu du mal à m'expliquer: D.
Merci à quelqu'un avance qui peut me aider ..
<?php define ('PAGEPARENT', 'foo');
define ('PAGECHILD', 'bar');
define ('PAGEGRANDCHILD', 'rules');
switch (PAGEGRANDCHILD) {
case PAGEGRANDCHILD:
$pageGrandChild = PAGEGRANDCHILD;
$rangeRelationResult = mysql_query("SELECT DISTINCT SUBSTRING(slug, 1, INSTR(slug, '-') - 1) result
FROM web_navbar_links
WHERE SUBSTRING(slug FROM INSTR(slug, '-".PAGECHILD."-') + 1) = '$pageGrandChild'
AND grandchild = 1
AND slug != '".PAGEPARENT."-".PAGECHILD."-".PAGEGRANDCHILD."';
");
while ($rangeRelationRow = mysql_fetch_object($rangeRelationResult)) { ?>
<a href="?page=<?php echo $rangeRelationRow->result."-".PAGECHILD."-".PAGEGRANDCHILD; ?>&pageLevel=<?php echo $_GET['pageLevel']; ?>" title="<?php echo PAGEGRANDCHILD." for ".$rangeRelationRow->result; ?>"><div id="<?php echo $rangeRelationRow->result; ?>Channel"><?php echo "» ".ucwords(PAGECHILD)." for ".$rangeRelationRow->result; ?></div></a> <?php
}
break;
} ?>
Quelqu'un peut-il regarder cela? Je suis toujours confiant de savoir comment le code fonctionne, c'est juste un problème avec la clause WHERE, j'en ai besoin pour que la variable $ pageGrandChild corresponde à la dernière partie d'un chaîne dans la base de données, c'est-à-dire 'foo-bar-rules'. Des idées? – zealisreal