[PHP] If funktioniert nicht ....

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Dark|pUM4, 9. August 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 9. August 2008
    If funktioniert nicht ....

    Hallo Leute,

    ich arbeite gerade an einem sehr umfangreichen Script, leider stehe ich jetzt vor einem eher simplen Problem, aber ich blicke nicht durch oO !

    Ich mache eine Abfrage, mit If prüfe ich ob Datensätze vorhanden sind, wenn ja, geht das Script in eine while - Schleife, das funktioniert einwandfrei!
    Ist die Tabelle leer sollte er das else ausfüren, was irgendwie nicht passiert!

    Habe ich einen Denkfehler?

    Code:
    $wieviele = mysql_query("SELECT * FROM `present_geschenk` WHERE `userid`='$idofuser' ORDER by `id` ASC");
     if($wieviele){
     while($ds=mysql_fetch_array($wieviele)){
     
     $geschenkid = $ds['id']; 
     $user = $ds['userid'];
     $name = $ds['name']; 
     //$bild = $ds['bild']; 
     //$frei = $ds['frei']; 
     //$preis = $ds['preis']; 
     //$beschreibung = $ds['beschreibung']; 
     //$link = $ds['link']; 
    
     
     ////// autotabelle erzeugen
     }
     }else echo 'Sie haben noch keine Geschenideen veröffentlicht!';
    DANKE schon mal, BW gibts natürlich immer
     
  2. 9. August 2008
    AW: If funktioniert nicht ....

    Du könntest den fehler auch einfach selber aufspüren, indem du nach der MYSQLabfrage

    die('Debug: '. $wieviele );

    machst
     
  3. 9. August 2008
    AW: If funktioniert nicht ....

    mysql_query gibt "false" nur im fehlerfall zurück. wenn also keiner ergebnisse geliefert werden, ist das result trotzdem "true".
    du musst mit "mysql_num_rows" schauen wieviel datensätze zurück gegeben wurden.
    http://de3.php.net/mysql_num_rows

    greez myth
     
  4. 9. August 2008
    AW: If funktioniert nicht ....

    myth2806 hat Recht, du musst mit mysql_num_rows die Anzahl der Datensätze berücksichtigen, das ganze sieht dann ca so aus, hab dein krams mal provisorisch in nem alten script von mir ersetzt.

    PHP:
    $wieviele  mysql_query ( "SELECT * FROM `present_geschenk` WHERE `userid`=' $idofuser ' ORDER by `id` ASC" );
    $num  mysql_num_rows ( $wieviele );
    if (
    $num  "0" )
        {
                while(
    $ds = mysql_fetch_array ( $wieviele )){
          
                
    $geschenkid  $ds [ 'id' ]; 
                
    $user  $ds [ 'userid' ];
                
    $name  $ds [ 'name' ];      
                
    //$bild  = $ds['bild'];                
                //$frei = $ds['frei'];  
                //$preis  = $ds['preis'];  
                //$beschreibung  = $ds['beschreibung'];            
                //$link = $ds['link'];  

                
                      ////// autotabelle erzeugen
                
    }

        else
        {
            echo 
    'Sie haben noch keine Geschenkideen veröffentlicht!' ;
        }
    Hoffe das funktioniert Achja und du hast bei Geschenkideen n "k" vergessen
    Mfg J1Lock
     
  5. 9. August 2008
    AW: If funktioniert nicht ....

    mysql_num_rows ist sehr langsam. gibt schnellere methoden.
     
  6. 9. August 2008
    AW: If funktioniert nicht ....

    @Telefonzelle: Bist du auch so gütig uns unwürdigen nahe zu bringen, was ihre Exzellenz für die beste Möglichkeit hält?
     
  7. 9. August 2008
    AW: If funktioniert nicht ....

    Query: SELECT SQL_CALC_FOUND_ROWS ID FROM `table` WHERE Cond = 'Sumthin'

    Um dann herauszufinden, wieviele Ergebnisse es gibt:

    Query: SELECT FOUND_ROWS() as results

    Fertig.
     
  8. 9. August 2008
    AW: If funktioniert nicht ....

    sehen sie hier: MySQL :: MySQL 5.0 Reference Manual :: 3.3.4.8 Counting Rows
     
  9. 9. August 2008
    AW: If funktioniert nicht ....

    und das soll schneller gehen als num_rows? Quelle?

    calc_fund_rows bringt doch lediglich was um die gesamt anzahl der rows MIT Limit herauszufinden, damit kein 2ter query (mit count(*) o.Ä.) gemacht werden muss.
     
  10. 9. August 2008
    AW: If funktioniert nicht ....

    also ich persönlich bin mir grade nicht sicher, ob das wirklich effiziener ist wenn du hinterher eh die daten weiterverwendest
    wenn du nur die zahlen brauchst wäre so ein query natürlich sinnvoller
     
  11. 9. August 2008
    AW: If funktioniert nicht ....

    Probiers aus. Mach dir mal 1000 Queries oder so mit der einen Version und danach mit der anderen.
     
  12. 9. August 2008
    AW: If funktioniert nicht ....

    ich denke das ich mit rows weiterkommen kann, ich teste das mla und editier dann hier meine erfahrungen "" ...

    tHx mal an alle BWs habt ihr alle erhalten!!!


    *edit*
    also es klappt endlich!!! ThX
    und wenns mir mit row zu langsam wird schweife ich um und melde mich nochmal
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.