problem mit function

Dieses Thema im Forum "Webentwicklung" wurde erstellt von proHacker, 21. August 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 21. August 2006
    Hey Leute brauche mal eure hilfe es geht um folgendes

    in einer Ausgabe soll ein rang ausgegeben werden der sich auf eine andere variable bezieht etwa so


    wenn die bezugsvariable ich nenn sie mal $1 null ist soll der rang "kein rang" ausgegeben werden wenn sie hingegen 1 ist soll "rang 1" ausgegeben werden und bei 2 wieder ein anderer usw...


    Ich hab mich dran versucht nur komm ich nur noweit das wenn $1 0 ist ein rang ausgegeben wird


    Hier mal der code

    if($1==0)
    echo "rang 0";
    else
    echo "rang 1";


    nur will ich da was weiß ich 10-15 ränge eingeben können
     

  2. Anzeige
  3. #2 21. August 2006

    is keine funktion is ne schleife ;)
    <?
    if($1==0)
    {
    echo "rang0";
    }elseif($1==1)
    {
    echo "rang1";
    }elseif($1==2)
    {
    echo "rang2";
    }

    ?>

    ect .... :]

    ps: kannst ja auch mit > oder < anstatt mit == vergleichen ...
     
  4. #3 21. August 2006
    hab ich mal getestet so sieht das original aus


    if($result['score']==0)
    {
    echo "rang0";
    }elseif($result['score']==1)
    {
    echo "rang1";
    }elseif($result['score']==2)
    {
    echo "rang2";
    }

    eine ausgabe findet weiterhin nur bei ==0 stat alles andere wird ignoriert
     
  5. #4 21. August 2006
    wird in der db dann überhaupt ein post count angezeit ? ^^

    hast du mal in der db geguckt ob die $result auch z.b. 2 hat ? :]

    ansonsten wenn man 3 hat, zeigt er einem nichts an ...

    deswegen versuch es mal mit > und/oder < :]
     
  6. #5 21. August 2006
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    es werden 3 reihen ausgegeben

    einmal mit nem result 0 einmal 1 und einmal 2

    das was ich als erstes in die if abfrage eingebe wird richtig angezeigt die anderen beiden bleiben leer ich mach mal nen screenshot

    Bild: Tn Php / Download - RR:Suche down?
     
  7. #6 21. August 2006
    Also wenn du so viele Werte prüfen/unterscheiden willst, die deine Variable annimmt, würd ich mal kein if verwenden sondern switch.

    PHP:
    <? php
    if( $variable ) {                       // abfrage, ob $variable einen wert hat
      
    switch( $variable ){
        case 
    0 :
          echo 
    'Rang 0' ;
        break;
        case 
    1 :
          echo 
    'Rang 1' ;
        break;
        case 
    2 :
          echo 
    'Rang 2' ;
        break;
      }
    }
    ?>

    mfg,
    m00pd00p
     
  8. #7 21. August 2006
    lass dir mal $result['score'] ausgeben

    an der funktion liegts glaub ich nicht dass da nix bei raus kommt denke dass es eher am auslesen der DB liegt

    btw di evariable $1 geht net

    variablen müssen mit einem buchstaben anfangen
     
  9. #8 21. August 2006
    Wenn der Rang direkt daneben gespeichert is, warum dann das ganze? Oder willst du alle einma durchlaufn lassen um die Ränge zu aktualisieren? :)
    Wenn ja - machs halt so:

    Table 1 [raenge]

    | ID | Name | Score
    | 1 | Rang1 | 1
    | 2 | Rang2 | 2
    | 3 | Rang3 | 3
    [...]


    Table 1 [users]

    | ID | Name | Score
    | 1 | peter | 1
    | 2 | madsen| 2
    | 3 | hans3 | 3
    [...]



    dann

    PHP:
    function  getRang ( $userID ) {
    $check  = @ mysql_fetch_array ( mysql_query ( "SELECT Score FROM users WHERE ID = ' $userID '" ));
    $Rang  = @ mysql_fetch_array ( mysql_query ( "SELECT Name FROM raenge WHERE Score = '" . $check [ 'Score' ]. "'" ));
    return 
    $Rang [ 'Name' ];
    }

    // Beispiel:
    echo  getRang ( 1 );

    mfG ...
     
  10. #9 21. August 2006
    Die var hat nen buchstabe habe das nur als beispiel gepostet


    ich werde mal den switch versuchen

    edit:

    @ m00pd00p
    der switch funktioniert überhauptnicht ich will nicht das wenn die variable einen wert hat was ausgegeben wird sondern nach der höhe des wertes den die variable hat soll etwas entspreechendes ausgegeben werden

    @ telefonzelle

    Die funktion soll je nachdem wieviel die var ausgibt einen anderen rang ausgeben wenn z.B. 10 ausgegeben wird soll für die 10 ein rang ausgegeben werden der daneben angezeigt werrden soll die ränge sind nicht in der datenbank enthalten sie sollen nach der größe der variable $result['score'] generiert werden


    edit2:

    nochmal an alle um missverständnisse vorzubeugen zurzeit habe ich 2 ränge in dem teil die nach der größe der variable $result['score'] erstellt werden nur ich brauche mehr if verschachtelungen funktionieren nicht hat noch jemand ne idee?

    if($result['score']<=50)
    echo "rang0";
    else
    echo "rang1";
     
  11. #10 21. August 2006
    Die Abfrage ob die Variable einen Wert besitzt, hat einzig und allein den Sinn die Schleife nicht durchlaufen zu lassen, falls du eh keinen Variablenwert hast...
    switch funktioniert perfekt, solang du es richtig anpasst.

    Hättest du dein Problem genauer geschildert, hätte ich dir gleich weiterhelfen können.


    Bitteschön, ein fast schon fertiges Beispiel:
    PHP:
    <?
    $posts  "25" ;             // Je nachdem wie groß der Wert dieser Variablen ist wird unten der entsprechende Rang ausgegeben (hab das mal $posts genannt, da das ein gutes Beispiel ist -> Forum)    
    if( $posts ) {
        switch(
    $posts ) {
                 case (
    $posts  >=  &&  $posts  <=  10 ):
                         echo 
    "Du bist ein kleiner Rang" ;
                     break;
                     case (
    $posts  >=  11  &&  $posts  <=  30 ):
                         echo 
    "Du bist ein gr&ouml;ßerer Rang" ;
                     break;
                     case (
    $posts  >=  31  &&  $posts  <=  70 ):
                         echo 
    "Du bist ein mittlerer Rang" ;
                     break;
                     case (
    $posts  >=  71  &&  $posts  <=  120 ):
                         echo 
    "Du bist ein RIIIIESSSEN Rang" ;
                     break;
             }
    }
    ?>
    Dass du die Variable ausliest und sie einen Wert hat ist natürlich vorrausgesetzt, aber das war ja nicht dein Problem, oder?




    mfg,
    m00pd00p
     

  12. Videos zum Thema
Die Seite wird geladen...