Problem bei der abfrage

Rayvez

Mitglied
Sers,eigentlich hatte ich gehofft,dass es wie bei den andern auch geht,ist aber leider nicht der Fall.

PHP:
<?php
srand((double)microtime()*1000000);
$sql = rand(1,50);
$sql = "SELECT Deutsch FROM Vokabeln WHERE ID = '$sql' ";

$sql=mysql_query($sql) OR die(mysql_error());
$sql=mysql_fetch_array($sql);

$deutsch=$sql[0];
unset($sql);
?>
<form method="post" action="">
   <table>
    <tr><td>Vorgabe:</td><td><?php echo "<input type='text' value=' $deutsch ' />" ?></td></tr>
	<td>&Uuml;bersetzung:</td><td><input type="text" name="con" /></td></tr>
	<tr><td>&nbsp;</td></tr>
	<tr><td><input type="submit" value="Kontrollieren" /></td>
	<td><label>Score:</label></td><td>&nbsp;</td><td></td></tr>
	
	</table>
</form>
<br /><br />

<?php

$con = $_POST['con'] ;
$sqll = "SELECT Englisch FROM Vokabeln WHERE Deutsch = '%$con%'";
    $result = mysql_query($sqll) or die("Fehler: ".mysql_error());
    $row = mysql_fetch_assoc($result);



if (mysql_num_rows($result)) {
            echo "gut " ; }
           else{
                echo "nö";
         } 

?>

Das Problem ist,dass der nicht überprüft,denn er zeigt immer "nö" an...
Was ist daran falsch?
 
Du stehlst auch keine verbindung her,wen du deine daten mit include einfügen willst sölltest du das schon hinschreiben !!

Gruß No-Body:)
 
Hey! Schau mal ob das geht:

PHP:
<?php

	//HIER INCLUDE ODER MYSQL_CONNECT

	srand((double)microtime()*1000000);
	$sql = rand(1,50);
	$sql = "SELECT Deutsch FROM Vokabeln WHERE ID = '$sql' ";
	
	$sql = mysql_query($sql) OR die(mysql_error());
	$sql = mysql_fetch_array($sql);
	
	$deutsch = $sql[0];
	unset($sql);
	
?>

<form method="post" action="">
	<table>
		<tr>
			<td>Vorgabe:</td>
			<td><?php echo "<input type=\"text\" value=\"" . $deutsch . "\">" ?></td>
		</tr>
		<tr>
			<td>&Uuml;bersetzung:</td>
			<td><input type="text" name="con"></td>
		</tr>
		<tr>
			<td><input type="submit" value="Kontrollieren"></td>
			<td><label>Score:</label></td>
		</tr>
	 </table>
</form>
	
<br><br>

<?php

	if(isset($_POST['con'])) {
	
		$con = $_POST['con'] ;
		$sql = "SELECT Englisch FROM Vokabeln WHERE Deutsch = '%$con%'";
		$result = mysql_query($sql) or die("Fehler: ".mysql_error());
		$row = mysql_fetch_assoc($result);
		
		if (mysql_num_rows($result)) {
			echo "gut " ; 
		} else {
			echo "nö";
		}
		
	}

?>


Fat-Z

PS: Soll das am Schluss eine LIKE-Abfrage werden oder wie :confused:
 
PS: Soll das am Schluss eine LIKE-Abfrage werden oder wie :confused:
Ist das nicht genau das Problem? Ich denke, das mit der Wildcard geht nur bei LIKE. Folglich sucht er bei dem = Operator nach einem %-Zeichen in der Spalte. Also besser so:
PHP:
$sql = "SELECT Englisch FROM Vokabeln WHERE Deutsch = '$con'";
Und: Ich würde noch das Input-Feld mit dem deutschen Wort disablen, damit niemand die abgefragte Vokabel verändern kann und so schnell Punkte sammelt ;)
PHP:
<form method="post">
    <table>
        <tr>
            <td>Vorgabe:</td>
            <td><input type="text" value="<?php echo $deutsch; ?>" disabled="disabled"></td>
        </tr>
        <tr>
            <td>&Uuml;bersetzung:</td>
            <td><input type="text" name="con"></td>
        </tr>
        <tr>
            <td><input type="submit" value="Kontrollieren"></td>
            <td><label>Score:</label></td>
        </tr>
     </table>
</form>
 
Zuletzt bearbeitet:
Hey DeeJTwoK, das war aber eine ganz schön schnelle Antwort auf meine :)
Also wenn es jetzt nicht funktionieren sollte, dann ... :offtopic: :)


Fat-Z
 
Sers,also das mit der Vorgabe funktioniert jetzt einwandfrei,aber...

Das Problem besteht darin,dass bei der Abfrage etwas vertauscht ist,denn sollte ich nix eintragen gibt er true aus;
gebe ich was rcihtiges ein,so gibt er false aus...

WARUM?!
 
Zurück