If-Funktion funktioniert nicht richtig

Black Crow

Mitglied
Hi

ich programmier gerade an einer Charaktergallerie. Jetzt ist es so, dass ich möchte, wenn es zu einem bestimmten Buchstaben (z. B. C) keinen Eintrag gibt, dass dann steht "Keine Einträge vorhanden". Und wenn dann ein Eintrag da ist, soll dieser dann auch auftauchen und das "Keine Einträge vorhanden" verschwinden. Das geht ja mit einer If-Funktion. Ich hab hier eine gemacht. An sich funktioniert sie ja auch. Aber die else-Funktion wird nicht aufgerufen.

PHP:
        if ($charname=="")
                        {
                            echo $zeile['charname'] ."<br>";
                        }    
                        else
                        {
                            echo "Keine Eintr&auml;ge vorhanden.";
                        }

Was ist an dieser Codestelle falsch? Wäre super, wenn ihr mir da helfen könntet ;) Bei dieser Funktion ruft er nur das echo $zeile['charname'] auf.

Black Crow
 
Ich weiß jetzt nicht genau was du meinst, aber vielleicht hilft dir das:
PHP:
if(!empty($zeile['charname'])){ 
    {
                            echo $zeile['charname'] ."<br>";
                        }    
                        else
                        {
                            echo "Keine Eintr&auml;ge vorhanden.";
                        }

gruss Rambo51
 
Hmm, versuch es nochmal so:
PHP:
if(!empty($zeile['charname'])){  
    {  
                            echo "Keine Eintr&auml;ge vorhanden."; 
                        }
                        else 
                        {
                            echo $zeile['charname'] ."<br>"; 
                        }

Bei mir funktioniert das eigentlich recht gut!!
 
PHP:
        if ($charname=="")
                        {
echo "Keine Eintr&auml;ge vorhanden."; 

            }    
                        else
                        {
  echo $zeile['charname'] ."<br>";
                       }
So muss es sein, Da Du ja prüfst ob deine Variable einen leerString enthält,
und wenn das so ist soll der Name ausgegeben werden...? Ich denke doch eher nicht.


Edit:/ arg zu langsam ^^
 
Rambo51 hat gesagt.:
Hmm, versuch es nochmal so:
PHP:
if(!empty($zeile['charname'])){  
    {  
                            echo "Keine Eintr&auml;ge vorhanden."; 
                        }
                        else 
                        {
                            echo $zeile['charname'] ."<br>"; 
                        }
Bei mir funktioniert das eigentlich recht gut!!

Bei dir macht er einen T_Else-Fehler, weil du zweimal eine { aufmachst ^^

Hatte deine Version NomadSoul bereits ausprobiert gehabt, funzte nicht.

Und deine, Rambo51 leider auch nicht :(

Danke für eure beiden Hilfen.
Irgendwie versteh ich das nicht. Die If-Schleife ist doch eigentlich gar nicht falsch, aber es interessiert ihn einfach nicht.
 
PHP:
if ($zeile['charname']=="") 
                        { 
echo "Keine Eintr&auml;ge vorhanden.";  

            }     
                        else 
                        { 
  echo $zeile['charname'] ."<br>"; 
                       }
versuchs doch mal so, oder gib mal etwas mehr von deinem Script Preis.
 
NomadSoul hat gesagt.:
PHP:
if ($zeile['charname']=="") 
                        { 
echo "Keine Eintr&auml;ge vorhanden.";  

            }     
                        else 
                        { 
  echo $zeile['charname'] ."<br>"; 
                       }
versuchs doch mal so, oder gib mal etwas mehr von deinem Script Preis.

Hab ich auch eben schon versucht gehabt. Eigentlich hab ich schon alle Varianten durch.

Hab jetzt auch noch mal etwas probiert

PHP:
  $sql = mysql_query("SELECT charname FROM char_charakters WHERE charname LIKE 'C%'");

                        if(!empty($zeile['charname']))
                        {  
                            echo "Keine Eintr&auml;ge vorhanden";
                        }
                        else
                        {
                            while ($zeile = mysql_fetch_array($sql))
                            {
    
                                echo $zeile['charname'] ."<br>";
                            }
                         }
                echo "<br>";


Vorher hatte ich es so

PHP:
  $sql = mysql_query("SELECT charname FROM char_charakters WHERE charname LIKE 'C%'");

                        while ($zeile = mysql_fetch_array($sql))
                            {
if(!empty($zeile['charname']))
                        {  
                            echo "Keine Eintr&auml;ge vorhanden";
                        }
                        else
                        {
                            
    
                                echo $zeile['charname'] ."<br>";
                            }
                         }
                echo "<br>";
 
Probier mal Folgendes:
PHP:
<?php

	$query = '
		SELECT
		        `charname`
		  FROM
		        `char_characters`
		  ORDER BY
		        `charname` ASC
		';
	$result = mysql_query($query);

	$i = null;
	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
		if( $i != ord(strtoupper($row['charname']{0})) ) {
			$i = ord(strtoupper($row['charname']{0}));
			if( !is_null($i) ) {
				echo '</ul>';
			}
			echo '<h2>'.strtoupper($row['charname']{0}).'</h2>';
			echo '<ul>';
		}
		echo '<li>'.$row['charname'].'</li>';
	}
	if( mysql_num_rows($result) > 0 ) {
		echo '</ul>';
	}

?>
 
Zurück