Vergleich zweier Quellen

M-GT

Erfahrenes Mitglied
Jo also ich hab mir so einen Code gebastelt:

PHP:
<?
$countit=0;
$count = "SELECT * FROM ".$prefix."test1 WHERE name='franz'";
$ergebnis = mysql_query($count);
while ($row = mysql_fetch_object ($ergebnis)) { $countit++; }
    {
    echo $countit;
    }

$test = "SELECT name FROM ".$prefix."test2 WHERE id='3'";
$test2 = mysql_query($test);
while ($row2 = mysql_fetch_object ($test2))
	{
	echo $row2->name;
	}
		 
if($countit == $row2->name)
{
echo "Die Eingabe ist gleich";
}
else
{
echo "UNTERSCHIED!!";
}
?>

Nur irgendwie prüft er nicht bei mit ob die zwei gleich sind er sagt einfahc immer UNTERSCHIED!!

In der Tabelle Name steht halt eine Zahl und es soll eben getestet werden ob die Zahle gleich sind von der Zählung und von dem EIntrag

Greetz
 
Zuerst mal den Block:
Code:
<?
$countit=0;
$count = "SELECT * FROM ".$prefix."test1 WHERE name='franz'";
$ergebnis = mysql_query($count);
while ($row = mysql_fetch_object ($ergebnis)) { $countit++; }
    {
    echo $countit;
    }
Du liest einen Datensatz aus der Tabelle wo der Name "franz" ist. Und dann die While. Was möchtest du mit der While erreichen? Und wieso hat es 2x geschweifte Klammern? Gibt das keinen Error beim ausführen? Möchtst du einfach zählen wie viele mit dem Namen "franz" in der DB stehen? Wenn ja zeig ich dir wie das schneller geht ;)

PHP:
$test = "SELECT name FROM ".$prefix."test2 WHERE id='3'";
$test2 = mysql_query($test);
while ($row2 = mysql_fetch_object ($test2))
	{
	echo $row2->name;
	}
		 
if($countit == $row2->name)
{
echo "Die Eingabe ist gleich";
}
else
{
echo "UNTERSCHIED!!";
}
?>

Hier list du den Namen aus. Dann vergleichst du eine Zahl aus dem ersten Block mit einem Namen aus dem Zweiten. Das kann ich dir sagen, das ist niemals gleich ;)

Beschreib doch mal was du eigentlich machen möchtest. Ich begreiff deinen Code wirklich nicht...

MFG
X
 
Also es gibt zwei Tabellen in meiner Datenbank in der einen Tabelle stehen Hunderte Namen also z.b.:
Franz Müller
Franz HUbe
Franz Karl usw...

Und in der Anderen Tabelle steht nur eine Zahl
Und es soll jez die Zahl mit der Einträge der Namen mit Franz verglichen werden und wenn die Zahl übereinstimmt soll halt eine Aktion sein bzw wenn nicht so kein/eine stattfinde...

Hoffe man hat das verstanden
 
PHP:
<?

//Hier werden alle Datensätze ausgelesen, welche den namen franz haben.
$ergebnis = mysql_query("SELECT count(*) as anzahl FROM `".$prefix."test1` WHERE `name`='franz' GROUP BY `name`");
//In der Variable $row->anzahl steht nun das Resultat der Abfrage. Also wie viele franz erfasst sind.
$row = mysql_fetch_object ($ergebnis);

//Nun wird die anzahl ausgelesen.
$ergebnis = mysql_query("SELECT `anzahl` FROM `".$prefix."test2` WHERE `id`='3'";);
//In der Variable $row-> anzahl steht nun wie viele franz erfasst sein müssen.
$row2 = mysql_fetch_object ($ergebnis);

//Nun wird verglichen
if($row->anzahl == $row2->anzahl) {
	echo "Die Eingabe ist gleich";
} else {
	echo "UNTERSCHIED!!";
}
?>

Wenn ich dich richtig verstanden habe, ist das dass was du brauchst. In ersten mysql_query() wird geschaut, wie viele Franz es gibt. Musst das Query sollte stimmen.

Das zweite Query musste ich etwas anpassen. Musst es hald noch auf deine Tabelle abstimmen. Aber irgendwo steht ja die anzahl. Deshalb musst du im 2ten Query dir die Anzahl zurückgeben lassen. Deshalb das SELECT `anzahl`. Ich weiss nicht ob es das Feld gibt. Musst es hald sonst anpassen...

Ist es das richtige? Und hast du es verstanden?

X
 
Zurück