tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Sven Mintel
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
679
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Hallihallo,

    mit eurer Hilfe war es mir damals möglich, bei einem Script, das eine Datenbank nach Werten ausliest, diese ausgelesenen Werte je nach Inhalt per switch in Bilder umzuwandeln.
    Das wollte ich jetzt bei einem ähnlichen vorgefertigten Script des Tools benutzen, das nach dem selben Prinzip arbeitet. Leider nutzt das Script am Ende für eine Lösch- und Edit-Funktion diese Werte nochmal. Darum werden die Funktionen zerstört, weil in dem Quellcode statt dem Wert nun das verlinkte Bild erscheint.

    Aber genug geredet, ich zeigs mal. Der Übersichtlichkeit halber habe ich nur eine Klasse und Rasse benutzt.


    PHP-Code:

        
    while($data $db_raid->sql_fetchrow($result))
        {
        
        
            switch(
    $data['race'])
            {
                case 
    $phprlang['human']:
                    if(
    $data['gender'] == 'male')
                        
    $data['race'] = '<img src="pics/' $config['template'] . '/faces/hu_male.gif">';
                    else
                        
    $data['race'] = '<img src="pics/' $config['template'] . '/faces/hu_female.gif">';
                    break;
            }    
            
            switch(
    $data['class'])
            {
                case 
    $phprlang['shaman']:
                    
    $data['class'] = ' <img src="pics/' config['template'] . '/classes/shaman_icon_huge.png"';
                    break;

            }
        
        
            
    array_push($chars
                array(
                    
    'ID'=>$data['char_id'],
                    
    'Name'=>$data['name'],
                    
    'Guild'=>$data['guild'],
                    
    'Level'=>$data['lvl'],
                    
    'Race'=>$data['race'],
                    
    'Class'=>$data['class'],
                    
    ''=>'<a href="charakter.php?mode=remove&n='.$data['name'].'&id='.$data['char_id'].'"><img src="pics/' $config['template'] . '/icons/icon_delete.gif"></a>
                    
                         <a href="charakter.php?mode=edit&race='
    .$data['race'].'&id='.$data['char_id'].'"><img src="pics/' $config['template'] . '/icons/icon_edit.gif"></a>'));
        } 

    Mein Problem sind also die beiden Links ganz am Ende. In dem fertigen Link, wo dann stehen müsste charakter.php?mode=edit&race=human steht nun quasi charakter.php?mode=edit&race=<img src="pics/temp/faces/hu_male.gif"> und zerstört damit den Edit-Button. Löschen geht noch, weil der Werte benutzt, die nicht in Bilder umgewandelt werden.


    Ist es möglich, diese Sachen zu trennen? Also dass er einmal Bilder aus den Werten macht und beim Edit-Button wieder Texte?

    MfG
    Sprite
    Geändert von Sprite (07.09.08 um 09:34 Uhr)
     

  2. #2
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Hmm.

    Gehe ich recht in der Annahme, dass es völlig unmöglich ist, in dieser while-Schleife die Daten bei der Ausgabe zu trennen und auch in der gesamten php-Datei, solange $data['race'] zweimal für unterschiedlich Sachen benutzt werden soll?
     

  3. #3
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    wenn du die Daten in 2 unterschiedlichen Formen benötigst, dann belasse sie doch beim kleinsten gemeinsamen Nenner und erstelle für die Buttons eine andere Variable.
     

  4. #4
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Die Idee hatte ich schon und habe die Links rausgenommen und dann unten drunter alleine durch die gleiche Variable geschickt.
    Das Problem daran ist nur, dass das Tool so aufgebaut ist, dass es die beiden Links auf der fertigen Seite dann eine Tabelle weiter unten einrückt, statt auf der selben Zeile wie die Bilder.
    Das ist dann doch zu verwirrend, wenn Name, Bilder, Level auf einer Zeile stehen und das Editieren und Löschen weiter unten .
     

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich meinte das ca. so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    while($data = $db_raid->sql_fetchrow($result))
        {
        
        
            switch($data['race'])
            {
                case $phprlang['human']:
                    if($data['gender'] == 'male')
                        [B]$data['race'] = 'hu_male';[/B]
                    else
                        [B]$data['race'] = 'hu_female';[/B]
                    break;
            }    
            
            switch($data['class'])
            {
                case $phprlang['shaman']:
                    $data['class'] = ' <img src="pics/' . config['template'] . '/classes/shaman_icon_huge.png"';
                    break;
     
            }
        
        
            array_push($chars, 
                array(
                    'ID'=>$data['char_id'],
                    'Name'=>$data['name'],
                    'Guild'=>$data['guild'],
                    'Level'=>$data['lvl'],
                   [B] 'Race'=> '<img src="pics/' . $config['template'] . '/faces/'.$data['race'].'.gif">',[/B]
                    'Class'=>$data['class'],
                    ''=>'<a href="charakter.php?mode=remove&n='.$data['name'].'&id='.$data['char_id'].'"><img src="pics/' . $config['template'] . '/icons/icon_delete.gif"></a>
                    
                         <a href="charakter.php?mode=edit&race='.$data['race'].'&id='.$data['char_id'].'"><img src="pics/' . $config['template'] . '/icons/icon_edit.gif"></a>'));
        }

    Im Ergebnisarray bleibt data['race'] unangetastet, und die Bilder/LInks sollten genauso herauskommen, wie du sie bisher hast.
     

  6. #6
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Oha, so meintest Du das, ok.

    Das ist schon zu 90% die Lösung, die ich suche . Das letzte Hindernis ist jedoch, dass die Bilder im Namen schon nach Geschlecht unterscheiden, also hu_male und hu_female. Der race-Wert aus der DB ist jedoch geschlechtslos, also nur "Human" und mit Großschreibung am Anfang und genau so brauchts der Edit-Button.
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Auch da sehe ich keine Probleme....
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    while($data = $db_raid->sql_fetchrow($result))
        {
          
        
            switch($data['race'])
            {
                [B]case $phprlang['human']:
                    if($data['gender'] == 'male')
                        $Race = 'hu_male';
                    else
                        $Race= 'hu_female';
                    break;
                default: $Race='';[/B]
            }    
            
            switch($data['class'])
            {
                case $phprlang['shaman']:
                    $data['class'] = ' <img src="pics/' . config['template'] . '/classes/shaman_icon_huge.png"';
                    break;
     
            }
        
        
            array_push($chars, 
                array(
                    'ID'=>$data['char_id'],
                    'Name'=>$data['name'],
                    'Guild'=>$data['guild'],
                    'Level'=>$data['lvl'],
                    'Race'=> '<img src="pics/' . $config['template'] . '/faces/'.[B]$Race[/B].'.gif">',
                    'Class'=>$data['class'],
                    ''=>'<a href="charakter.php?mode=remove&n='.$data['name'].'&id='.$data['char_id'].'"><img src="pics/' . $config['template'] . '/icons/icon_delete.gif"></a>
                    
                         <a href="charakter.php?mode=edit&race='.$data['race'].'&id='.$data['char_id'].'"><img src="pics/' . $config['template'] . '/icons/icon_edit.gif"></a>'));
        }
    ...wobei ich es persönlich wohl eher so machen würde, dass die Bilder für Race ihren Namen aus $data['race'] und $data['gender'] zusammengesetzt bekommen...das erfordert überhaupt keine weiteren Prüfungen.
    Sprite bedankt sich. 

  8. #8
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Vielen lieben Dank. Kleine Änderung, große Wirkung

    Zitat Zitat von Sven Mintel Beitrag anzeigen
    ...wobei ich es persönlich wohl eher so machen würde, dass die Bilder für Race ihren Namen aus $data['race'] und $data['gender'] zusammengesetzt bekommen...das erfordert überhaupt keine weiteren Prüfungen.
    Naja, äh... sehr gerne. Allerdings übersteigt das mein Know-how extreeeem . Ich wüsste nicht mit welchem Befehl anfangen, womit aufhören, weil ich nur einfach Grund-Kentnisse habe. Ich kann zwar fertige Scripte etwas umschreiben mit vorhandenen Sachen oder was einpflegen und in der DB manuell Tabellen oder Werte anlegen/kopieren/etc., aber neu programmieren kann ich leider gar nicht. Dazu nutze ich php zu selten und grübel dann 5 Tage über solchen "lächerlichen" Problemen bis ich Hilfe suche und dann ein Programmierer wie du es nach zwei Mal durchlesen löst.

    Das ist wie als ob man 5 Jahre in Ägypten lebt und sich dann ordentlich unterhalten kann, aber sobald man was schreiben soll, steht man im Regen und kriegt keine 5 Worte hin .

    Ich hatte ja schon diese oben genannte 2-Zeilen-Sache akzeptiert, dass oben die Daten und unten die Buttons sind. Zwar nicht schön oder komfortabel und sicher auch Serverlastiger, aber hätte immerhin ohne Hilfe funktioniert.
     

  9. #9
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Naja, jeder Datensatz hat ja $race und $gender.

    Angenommen, du würdest jetzt deine Bilder bspw. human_male oder human_female benennen, dann bräuchtest du nur
    Code :
    1
    
    'Race'=> '<img src="pics/' . $config['template'] . '/faces/'.[B]$data['race'].'_'.$data['gender'][/B].'.gif">',
    ...schreiben, und jegliche vorherige Verarbeitung wäre eingespart
     

  10. #10
    Sprite Sprite ist offline Mitglied Silber
    Registriert seit
    Nov 2003
    Ort
    Leipzig
    Beiträge
    51
    Ui... wow, so kann ich das ja auch bei der Klasse machen. Nochmals Danke .
     

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 04.10.10, 19:16
  2. Antworten: 4
    Letzter Beitrag: 26.09.10, 12:45
  3. Antworten: 7
    Letzter Beitrag: 16.03.07, 07:57
  4. Text enfernen & Bild darunter wieder herstellen ?
    Von zipo4ifn im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 05.01.06, 14:51
  5. Text-Datei auslesen & text anfügen (mal wieder)
    Von Nico192 im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 22.10.05, 20:10