Seite 1 von 2
Wieder mal ein PHP blackout bei mir^^
Verfasst: 12.11.2009, 20:38
von catcat
Ich hab da in diesem Teil nen Fehler und find es nicht:
array_multisort($lens, SORT_NUMERIC, $childs
);
foreach($childs
as $key
=>$child
){
echo '<li-first"; } echo '"><a href="'.$child['url
'].'" title="'.$child['name
'].'">'.$child['name'].'</a></li>';
}
Ich habs mal farblich so wie in DW gemacht. Es kann nur in der Zeile, die mit " echo '<li-first";" beginnt sein.
Die Fehlermeldung lautet: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in blabla
Aber ich komm einfach nicht drauf
Jemand ne Idee?
Verfasst: 12.11.2009, 20:42
von 007
echo '<li-first";
' != "

Verfasst: 12.11.2009, 20:43
von net(t)worker
hmm... ich würde sagen du wirfst da ' und " wild durcheinander und hast dich dabei verhaddert...
kommste gerade aus der Stammkneipe?
Verfasst: 12.11.2009, 20:44
von Texxter
Probier mal so:
Code: Alles auswählen
echo "<li><a href='".$child['url']."' title='".$child['name']."'>".$child['name']."</a></li>";
Verfasst: 12.11.2009, 20:55
von catcat
Öhm... dakommt dasselbe raus Texxter^^
@net(t)worker): jep.
Also hier mal der gesamte Kot:
Code: Alles auswählen
<div>
<h2>Shop Categories</h2>
</div>
<div>
<table cellspacing="0" id="cat-list">
<?php
$allCats=$this->getStoreCategories();
$i=0;
foreach ($allCats as $category){
if($i==30){
break;
}
if (!$category->getIsActive()){
continue;
}
$children = $category->getChildren();
$childrenCount = $children->count();
$catName=$category->getName();
if($i++%3==0){
echo '<tr>';
}
echo '<td><div style="background:url('.$this->getSkinUrl('images/'.$category->getId().'.jpg').') no-repeat bottom center;">
<ul><a href="'.$this->getCategoryUrl($category).'" title="'.$catName.'">'.$catName.'</a><br>';
$j=0;
if ($children && $childrenCount) {
$childs=array();
$lens=array();
foreach ($children as $child) {
if ($child->getIsActive()) {
$childName=trim(preg_replace("/^$catName */",'',$child->getName()));
preg_match_all('/m/',$childName,$letters);
$count=count($letters[0]);
$strlen=strlen($childName)+$count;
if($strlen>12 && substr($catName,0,4)!="Rept"){
continue;
}
$childs[$j]=array();
if($childName=='Supplements & Medications'){
$childName='Supplements';
}
$childs[$j]['name']=$childName;
$lens[$j]=$strlen;
$childs[$j]['url']=$this->getCategoryUrl($child);
$j++;
if($j==5){
break;
}
}
}
array_multisort($lens, SORT_NUMERIC, $childs);
foreach($childs as $key=>$child){
echo '<li-first"; } echo '"><a href="'.$child['url'].'" title="'.$child['name'].'">'.$child['name'].'</a></li>'; //und hier steckt der Hund drin
}
}
echo '';
if($i%3==0 || $i==6){
echo '</tr>';
}
}
?>
</table>
</div><br />
Das sollte mir die Kategorien aus der DB ziehen und mir fein säuberlich, wie bei Preussens, auf der Startseite anzeigen in 3-er-Reihen.
Verfasst: 12.11.2009, 21:07
von net(t)worker
hast du die Zeile von Texxter nu ganz rüberkopiert, also deine vorher gelöscht, oder haste versucht deine zeile der von texxter anzupassen?
Verfasst: 12.11.2009, 21:08
von catcat
*narf.
Ich habe meine gelöscht und die von texxter reinkopiert...
STRG-C und STRG-V schaffe ich grade noch^^
Re: Wieder mal ein PHP blackout bei mir^^
Verfasst: 12.11.2009, 21:15
von DanielS
catcat hat geschrieben:...Es kann nur in der Zeile, die mit " echo '<li-first";" beginnt sein...
Das klingt irgendwie nur nach Vermutung. Welche Zeile steht denn genau in der Fehlermeldung?
Verfasst: 12.11.2009, 21:16
von net(t)worker
hast du den Code denn nach der Änderung der Zeile auf dein Livesystem kopiert oder wieder nur mal aufs testsystem und dann beim livesystem nachgeschaut?
Re: Wieder mal ein PHP blackout bei mir^^
Verfasst: 12.11.2009, 21:22
von net(t)worker
DanielS hat geschrieben:Das klingt irgendwie nur nach Vermutung. Welche Zeile steht denn genau in der Fehlermeldung?
naja... in der Zeile ist auf jeden Fall etwas falsch.... da werden ' und " wild durcheinander gewürfelt, und was das } dort zu suchen hat frage ich mich auch... und es gibt keinen "<li-first" HTML Tag.... aber klar, ggf. kann der Fehler, der diese Fehlermeldung verursacht auch in einer anderen Zeile liegen
Verfasst: 12.11.2009, 21:22
von catcat
Es gibt Tage, da hasse ich Dich echt!
Ich geh runter innen "Flotten Otto" und guck morgen wieder nach "qualifizierten Kommentaren" *hehe
Verfasst: 12.11.2009, 21:34
von net(t)worker
catcat hat geschrieben:Ich geh runter innen "Flotten Otto" und guck morgen wieder nach "qualifizierten Kommentaren" *hehe
Hmm... soetwas ähnliches wollte ich dir eigentlich nach dem Eingangsposting schon empfehlen... so sehr wie die eine Zeile verhunzt is, fehlt dir momentan wohl die nötige Konzentration fürs scripten...

Verfasst: 12.11.2009, 21:54
von 007
Ich poste auch gerne nochmal, vielleicht sieht ja jetzt Jemand den Fehler:
echo '<li-first";
Verfasst: 12.11.2009, 21:56
von DanielS
007 hat geschrieben:Ich poste auch gerne nochmal, vielleicht sieht ja jetzt Jemand den Fehler:
echo '<li-first";
Das hat unsere Doppelkatze aber durch den Code von Texxter behoben

Verfasst: 12.11.2009, 21:56
von net(t)worker
007 hat geschrieben:Ich poste auch gerne nochmal, vielleicht sieht ja jetzt Jemand den Fehler:
echo '<li-first";
ach... und der wäre mit dieser Zeile von Texxter nicht behoben?
