php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-04-2008, 22:18
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard Verflixtes Ausleseproblem bei Cat und Undercat!

Hallo Fromgemeinde!

Ich habe ein Problem und bekomme das seid Stunden nicht in den Griff!

Beim Auslesen der Bilder die zu einer Kategorie gehören klappt das alles super nur wenn ich auf der selben Seite nach den Unterkategorien die Bilder anzeigen lassen will klappt das nicht!

Hier mal der Code für die Jump Datei und kurze Erklärung dazu!

PHP-Code:
<?php 
//Javascriptfunktionen für dem Jump 
<script language="JavaScript"
<!-- 
function 
bhccatjump() { 
   
document.hcjump.submit(); 

//--> 

<!-- 
function 
buccatjump() { 
   
document.ucjump.submit(); 

//--> 
</script> 


//Der Jumpteil für die Bilder in den Hauptkategorien 
<form action="bild_list.php" method="get" name="hcjump"> 
<select name="hcid" class="admintf" onChange="bhccatjump();"> 
    <option>Auswahl</option> 
    <?php 
        $sqlbefehl 
="Select hc.id,hc.bcat,uc.hcatid 
                    From  
                        $tab_bcats hc 
                    Left Join 
                        $tab_bundercats uc 
                    ON (hc.id = uc.hcatid) 
                    "

        
$ergebnis mysql_query($sqlbefehl)or die(mysql_error()); 
        while(
$row mysql_fetch_array($ergebnis)){ 
            if(
$row['hcatid'] != $row['id']) 
            { 
                echo 
"<option value=\"".$row['id']."\">".$row['bcat']."</option>"
            } 
        } 
    
?> 
</select> 
<input type="submit" name="hcjump" value="Go" size="20" style="font-size:10px" class="buttons"> 
</form> 

//Der Jumpteil für die Bilder in Unterkategorien  
<form action="bild_list.php" method="get" name="ucjump"> 
<select name="ucid" class="admintf" onChange="buccatjump();"> 
    <option>Auswahl</option> 
    <?php 
        $sqlbefehl 
="Select id,bundercat From $tab_bundercats"
        
$ergebnis1 mysql_query($sqlbefehl)or die(mysql_error()); 
        while(
$row1 mysql_fetch_array($ergebnis1)){ 
            echo 
"<option value=\"".$row1['id']."\">".$row1['bundercat']."</option>"
        } 
    
?> 
</select> 
<input type="submit" name="ucjump" value="Go" size="20" style="font-size:10px" class="buttons"> 
</form> 
?>
Ich denke es ist ersichtlich in dem ersten Jumper soll auf die Bilder verwiesen werden die zu der Hauptkategorie gehören. In dem zweiten Jumper soll auf die Bilder verwiesen werden die in einer Unterkategorie stecken!


Hier der Code für das auslesen!

PHP-Code:
<?php 
$sqlbefehl 
="Select hcid, Count(hcid) As anzahl_hc From $tab_bild Group By hcid"
$count mysql_query($sqlbefehl)or die(mysql_error()); 
$counterg mysql_fetch_array($count); 

if(
$counterg['anzahl_hc'] >0

    
$sqlbefehl ="Select id,hcid,bild From $tab_bild Where hcid='".$_GET['hcid']."'"
    
$ergebnis mysql_query($sqlbefehl)or die(mysql_error()); 
    while(
$row mysql_fetch_array($ergebnis)){ 
?> 
    <tr> 
    <td align="center" class="artaleft"><?php echo $row['bild'?></td> 
    <td align="center" class="artaright">Cat</td> 
    <td align="center" class="artaright">Edit</td> 
    </tr> 
<?php 
    


else 

    
$sqlbefehl ="Select id,ucid,bild From $tab_bild Where ucid='".$_GET['ucid']."'"
    
$ergebnis1 mysql_query($sqlbefehl)or die(mysql_error()); 
    while(
$row1 mysql_fetch_array($ergebnis1)){ 
         
        echo 
"<tr> 
        <td align=\"center\" class=\"artaleft\">"
.$row1['bild']."</td> 
        <td align=\"center\" class=\"artaright\">Cat</td> 
        <td align=\"center\" class=\"artaright\">Edit</td> 
        </tr>"

         
    } 

?>
Also als erstes ermittel ich mit Select Count ob die hcid (Hauptkategorien id) größer als Null ist,wenn ja dann kommt die eigentliche Abfrage nach der die Bilder angezeigt werden sollen. So für die Bilder in den Hauptkategorien geht das auch ohne Problem! Nur wenn ich dann im else Zweig die nach den Unterkategorien auslesen will geht das nicht,also er listet mir nicht die zur Unterkategorie zugehörigen Bilder an sondern egal welche anklicke er zeigt immer alle Bilder mit Unterkategorie!

Nun habe ich einen Test gemacht und die Abfrage für die Bilder die nach Unterkategorien ausgelesen werden sollen und das in eine andere Datei geschrieben und im jumper teil dann diese eingetragen und dort ging es dann wie es soll.

Ich will aber das nicht in zwei verschiedenen Dateien auslesen lassen sondern in einer nach den Bedingungen!

Was mache ich falsch? Kann mir einer helfen? Vielen Dank mfg der Litter
Mit Zitat antworten
  #2 (permalink)  
Alt 17-04-2008, 02:43
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

Zitat:
Also als erstes ermittel ich mit Select Count ob die hcid (Hauptkategorien id) größer als Null ist
Nein, Du wählst alle verschiedenen Hauptkategorien aus, nebst Anzahl der Einträge für selbige. Dann liest Du die Anzahl der Einträge für die erste gefundene Hauptkategorie aus und prüfst, ob die größer als 0 ist. Den Sinn dahinter verstehe wer will...

Wann soll denn Deiner Meinung nach jemals der else-Zweig ausgeführt werden? Du prüfst ja nicht mal, welches Formular abgeschickt wurde...

LG
Mit Zitat antworten
  #3 (permalink)  
Alt 17-04-2008, 07:49
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also meiner Meinung nach prüfe ich in der Count Abfrage ob es eine Wert in der Spalte hcid gibt der größer als null ist. Ist das der Fall wird dann die erste Abfrage auch korrekt ausgeführt. Nur die zweite im else Zweig die wird nicht ausgeführt. Was heist wenn es einen Wert 0 bei der hcid Spalte gibt soll er die Bilder auslesen die einen Wert in der Spalte ucid haben. Warum ich das so mache ist denke ich deutlich zu sehen aus dem ersten Code Teil!

Hat jemand einen Tipp für mich?

mfg der Litter!
Mit Zitat antworten
  #4 (permalink)  
Alt 17-04-2008, 10:32
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keiner eine Idee?
Mit Zitat antworten
  #5 (permalink)  
Alt 17-04-2008, 10:43
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zeige halt die Struktur deiner Tabellen und beschreibe genau, was du haben willst. Ich habe keine Lust, für ein offensichtliches Abfrageproblem den ganzen Code durchzusehen.
__________________
Gruss
H2O
Mit Zitat antworten
  #6 (permalink)  
Alt 17-04-2008, 10:44
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also ich sehe keinen Fall in dem dies
if($counterg['anzahl_hc'] >0)
nicht wahr ist, denn wenn eine hcid vorhanden ist und nur dann selektierst Du und dann ist die Anzahl mindestens eins...
Das ist ein Logik Problem.
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #7 (permalink)  
Alt 17-04-2008, 10:53
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok also hier die Tabellen Struktur für die tabelle bilder!

id int(14) auto_increment primary key,
hcid int(14) not null default '0',
ucid int(14) not null default '0',
author varchar(100) not null default '0',
datum int(14) not null default '0',
bildinfo text not null default '',
bild varchar(100) not null default '0',
views int(14) not null default '0'


Die Tabelle Hauptkategorien

id int(14) auto_increment primary key,
bcat varchar(100) not null default '0',
bstatus int(1) not null default '0',
hcimage varchar(100) not null default '0',
hcviews int(14) not null default '0'

Die Tabelle Unterkategorien

id int(14) auto_increment primary key,
hcatid int(14) not null default '0',
bundercat varchar(100) not null default '0',
ucimage varchar(100) not null default '0',
ucstatus int(1) not null default '0',
ucviews int(14) not null default '0'



Es soll möglich sein in Hauptkategorien Unterkategorien anzulegen oder auch Bilder. Das ist ja kein Problem und habe ich schon realsisiert. Wie man sieht gibt es in der Tabelle Bilder eine Spalte die hcid heist und eine die ucid heist!

Bei der Abfrage prüfe ich erst ob in der spalte hcid ein Wert größer als null ist. Ist dieses der Fall dann soll er mir die dazu gehörigen Bilder ausgeben. Das machte ja auch wunderbar wie er soll. Klicke ich eine Kategorie an zeigt er die dazugehörigen Bilder. Nur die zweite Abfrage im else Zweig funktioniert nicht. Dort soll er mir die Bilder ausgeben die zu eine Unterkategorie hat. Das macht er,aber falsch egal welche Unterkategorie ich wähle,er zeigt alle Bilder!

Darum habe ich beide Scriptteile rein gestellt. Das wo ich die Kategorien wähle und das wo die Ausgabe Abfrage stattfindet!

mfg der Litter
Mit Zitat antworten
  #8 (permalink)  
Alt 17-04-2008, 11:00
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wo prüfst Du das:
Zitat:
Bei der Abfrage prüfe ich erst ob in der spalte hcid ein Wert größer als null ist.
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #9 (permalink)  
Alt 17-04-2008, 11:08
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hier prüfe ich das

PHP-Code:
<?php
$sqlbefehl 
="Select hcid, Count(hcid) As anzahl_hc From $tab_bild Group By hcid"
$count mysql_query($sqlbefehl)or die(mysql_error()); 
$counterg mysql_fetch_array($count); 

if(
$counterg['anzahl_hc'] >0


?>
Ist ein hcid Wert größer als 0 dann führe diese Abfrage aus

PHP-Code:
<?php
$sqlbefehl 
="Select id,hcid,bild From $tab_bild Where hcid='".$_GET['hcid']."'"
    
$ergebnis mysql_query($sqlbefehl)or die(mysql_error()); 
    while(
$row mysql_fetch_array($ergebnis)){ 

?>
Und ist der Wert nicht größer 0 soll im else Zweig dann diese Abfrage ausgeführt werden

PHP-Code:
<?php
$sqlbefehl 
="Select id,ucid,bild From $tab_bild Where ucid='".$_GET['ucid']."'"
    
$ergebnis1 mysql_query($sqlbefehl)or die(mysql_error()); 
    while(
$row1 mysql_fetch_array($ergebnis1)){ 
?>
Er führt die Abfrage im else Zweig aber falsch aus,er zeigt egal welche Unterkategorie gewählt wird alle Bilder aus die ein Unterkategorie haben.
Mit Zitat antworten
  #10 (permalink)  
Alt 17-04-2008, 11:15
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von litterauspirna
Hier prüfe ich das

PHP-Code:
<?php
$sqlbefehl 
="Select hcid, Count(hcid) As anzahl_hc From $tab_bild Group By hcid"
$count mysql_query($sqlbefehl)or die(mysql_error()); 
$counterg mysql_fetch_array($count); 

if(
$counterg['anzahl_hc'] >0


?>
Ist ein hcid Wert größer als 0 dann führe diese Abfrage aus
Na dann bist Du auf dem Holzweg.
HIer prüfst Du nämlich ob der count für ein hcid > 0 ist und der ist IMMER grösser als 0, da nur gezählt wird wenn ein hcid vorhanden ist und der count dann mindestens 1 ist und das IMMER
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #11 (permalink)  
Alt 17-04-2008, 11:15
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hast dir die die evaluierten Abfragen ausgeben lassen (echo $sqlbefehl)?
__________________
Gruss
H2O
Mit Zitat antworten
  #12 (permalink)  
Alt 17-04-2008, 11:16
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

btw wird Dir die if() auch nur genau einmal ausgeführt, warum fragst Du also die ganze Tabelle ab, wenn Du nur eine Zeile verarbeitest?
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #13 (permalink)  
Alt 17-04-2008, 11:28
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also habe mir $sqlbefehl in der ertsen Abfrage mal ausgeben lassen und da macht er ganau das richtige zum beispiel so!

Select id,hcid,bild From bild Where hcid='8' Select id,hcid,bild From bild Where hcid='8'

Da liest er mir genau das aus wie er soll,nämlich die Bilder die die hcid 8 haben!

Und die andere Abfrage macht was was ich nicht verstehe,obwohl ich da nach ucid auslese zeigt er mir das.

Select id,hcid,bild From bild Where hcid='' Select id,hcid,bild From bild Where hcid='' Select id,hcid,bild From bild Where hcid=''

Er liest ebenfalls nach hcid aus obwohl in der abfrage aber klar steht er soll nach ucid auslesen!
Mit Zitat antworten
  #14 (permalink)  
Alt 17-04-2008, 11:36
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Weil Deine zweite Abfrage innerhalb der if Abfrage nie ausgeführt wird sondern immer nur die erste, weil Deine if($counterg['anzahl_hc'] >0) immer wahr ist!!!!!
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #15 (permalink)  
Alt 17-04-2008, 11:38
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Momentan stehe ich auf dem Schlauch. Wie müsste ich das denn adnders schreiben so das die zweite Abfrage auch ausgeführt wird wenn die erst nicht wahr ist?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:10 Uhr.