Was ist hier falsch ?

mkoeni1

Erfahrenes Mitglied
Hallo Leute,

ich finde den Fehler einfach nicht. Kann mir einer sagen was ich falsch mache ? D
Es ist eine MySQL Datenbank im Hintergrund.

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
  error_reporting(E_ALL); 
  
    mysql_connect("localhost","root","") or die
    ("Keine Verbindung moeglich");
  
  
// post values from form 
$ausw = $_POST["auswahl"];



  
?>
<html>
<head>
    <title>links</title>
    
<!-- remote css-files -->
<link rel="stylesheet" href="../../shared/css/test.css">
<link href='../../shared/css/upload.css' rel='stylesheet' type='text/css'>
    
</head>

<body>

<?

  $abfrage = "SELECT * FROM". $ausw."";

      
 ?>

<div id="inhalt">
    
<table width="717px" cellpadding="3" cellspacing="3" border="1">
    <tr>
            <td><font class="boxyellow"><b>Links</b>:</font></td>
<!-- Formular Anfang in einer table -->
    <td>
        <table border="0">
            <tr>
                <td><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
                        <input type="radio" name="auswahl" value="all_links_bezirk">Teams aus der Nachbarschaft
                        <input type="radio" name="auswahl" value="all_links_bundesliga">Fußball-Bundesliga<br>
                        <input type="radio" name="auswahl"  value="all_links_ergebnisdienst">Fußball-Ergebnisdienste
                        <input type="radio" name="auswahl"  value="all_links_weitere_links">weitere Links
                <input type="submit" value="Go"><!--<input type="reset" value="reset">-->
                    </form>
            </td>
        </tr>
    </table>

        

</td>
    </tr>

    
    <tr>
        <td class="box3" align="center">Wappen</td>
        <td class="box3" align="center">Link</td>
    </tr>
    
    
<?php
  /** for colored rows ***/    
  $zahl = 1;

    echo mysql_error();
    
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis)){
    if(($zahl%2) == 0)
        {
        echo "<td><center><img src=".$row->link_logo." alt=".$row->link_name." width=".$row->link_logo_width." height=".$row->link_logo_height." border=\"0\"></center></td>";
        echo "<td class=\"box1\"><center><a href=\"".$row->link_description ."\" target=\"_blank\">" .$row->link_name ."</a></center></td></tr>";
    $zahl++;
        }
    else
        {
        echo "<td><center><img src=".$row->link_logo." alt=".$row->link_name." width=".$row->link_logo_width." height=".$row->link_logo_height." border=\"0\"></center></td>";
        echo "<td><center><a href=\"".$row->link_description ."\" target=\"_blank\">" .$row->link_name ."</a></center></td></tr>";
    $zahl++;
        }
 }   
 ?>
        
    <tr>
        <td><img src="../../shared/images/1_pix_t.gif"  width="60" height="1"></td>
        <td><img src="../../shared/images/1_pix_t.gif"  width="65" height="1"></td>
    </tr>
</table>


</div>


</body>
</html>


Vielen herzlichen Dank
Matze
 
Gibt der Parser vielleicht eine Fehlermeldung aus? Wenn ja wie lautet die und in welcher Zeile?
Wenn nein, dann sag was genau nicht funktioniert. Nur die wenigsten haben Lust sich erst anzusehen was dein Script da macht und wie es arbeitet...

cAm3eel.
 
1. Um was für einen Fehler handelt es sich?
2. Sind die Tabellennamen identisch mit den Radiobuttons "auswahl"?
3. Versuch mal $ausgabe = "SELECT * FROM ". $ausw .""; Ich denke da fehlt ein Leerzeichen.

It might help!

Tseng
 
Wenn ich das richtig sehe stellst du nur eine Verbindung zur DB her sprichst aber keine Tabelle inerhalb der DB an also mit der function [phpf]mysql_select_db[/phpf].
 
Stimmt, habe ich total übersehen, dass er keine keine DB auswählt. Muss dich leider korrigieren ezias, aber es muss Datenbank statt Tabelle in deinem Post heißen. ;) Aber ich denke, dass das nur ein Flüchtigkeitsfehler war.

Tseng
 
Hallo Leute,

spreche ich nicht mit dem Namen der Radio-Buttons -> auswahl die Tabellennamen an ?

@Tseng: mein SELECT String sieht meiner Meinung nach so aus, wie du ihn vorschlägst.

@ezias: du hast Recht, ich stelle nur eine Verbindung her, wähle aber keine Datenbank aus.


Nach der Korrektur des Skriptes sieht es jetzt so aus:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
  error_reporting(E_ALL); 
  
   $link = mysql_connect("localhost","root","");
   if(!$link) {
       ("Keine Verbindung moeglich");
   }
    
    
// benutze Datenbank usrdb_test
$db_selected = mysql_select_db('usrdb_test', $link);
if (!$db_selected) {
   die ('Kann usrdb_test nicht benutzen : ' . mysql_error());
}    
  
  
// post values from form 
$ausw = $_POST["auswahl"];



  
?>
<html>
<head>
    <title>links</title>
    
<!-- remote css-files -->
<link rel="stylesheet" href="../../shared/css/test.css">
<link href='../../shared/css/upload.css' rel='stylesheet' type='text/css'>
    
</head>

<body>

<?

  $abfrage = "SELECT * FROM".$ausw."";

      
 ?>

<div id="inhalt">
    
<table width="717px" cellpadding="3" cellspacing="3" border="1">
    <tr>
            <td><font class="boxyellow"><b>Links</b>:</font></td>
<!-- Formular Anfang in einer table -->
    <td>
        <table border="0">
            <tr>
                <td><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
                        <input type="radio" name="auswahl" value="all_links_bezirk">Teams
                        <input type="radio" name="auswahl" value="all_links_bundesliga">Fußball<br>
                        <input type="radio" name="auswahl"  value="all_links_ergebnisdienst">Fußball
                        <input type="radio" name="auswahl"  value="all_links_weitere_links">weitere Links
                <input type="submit" value="Go"><!--<input type="reset" value="reset">-->
                    </form>
            </td>
        </tr>
    </table>

        

</td>
    </tr>

    
    <tr>
        <td class="box3" align="center">Wappen</td>
        <td class="box3" align="center">Link</td>
    </tr>
    
    
<?php
  /** for colored rows ***/    
  $zahl = 1;

    echo mysql_error();
    
  $ergebnis = mysql_query($abfrage);
  while($row = mysql_fetch_object($ergebnis)){
    if(($zahl%2) == 0)
        {
        echo "<td><center><img src=".$row->link_logo." alt=".$row->link_name." width=".$row->link_logo_width." height=".$row->link_logo_height." border=\"0\"></center></td>";
        echo "<td class=\"box1\"><center><a href=\"".$row->link_description ."\" target=\"_blank\">" .$row->link_name ."</a></center></td></tr>";
    $zahl++;
        }
    else
        {
        echo "<td><center><img src=".$row->link_logo." alt=".$row->link_name." width=".$row->link_logo_width." height=".$row->link_logo_height." border=\"0\"></center></td>";
        echo "<td><center><a href=\"".$row->link_description ."\" target=\"_blank\">" .$row->link_name ."</a></center></td></tr>";
    $zahl++;
        }
 }   
 ?>
        
    <tr>
        <td><img src="../../shared/images/1_pix_t.gif"  width="60" height="1"></td>
        <td><img src="../../shared/images/1_pix_t.gif"  width="65" height="1"></td>
    </tr>
</table>


</div>


</body>
</html>


Dennoch wird folgende Fehlermeldung(en) ausgegeben:

Code:
Notice: Undefined index: auswahl in  C:\xampp\xampp\htdocs\test\links.php on line  19

Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL  result resource in C:\xampp\xampp\htdocs\test\links.php  on line 83


Vorab schon mal herzlichen Dank für die Hilfe.

Matze
 
Hallo Leute,

es hat sich erledigt ;-) Hab den Fehler mit dem dazutun eurer Hilfe in dem SELECT-String gefunden.

Korrekt müsste dieser heißen:
PHP:
<?
  $abfrage = 'SELECT * FROM`'.$ausw.'`';      
 ?>

Vielen Dank trotzdem für die Hilfe.


Viele Grüße
Matze
 
Zurück