Problem mit MySQL Abfrage - Bitte um Hilfe

PaulinaBerlin

Grünschnabel
Hallo alle zusammen. Ich habe ein riesiges Problem. Und zwar bin ich Webdesignerin und wollte demnächst einen Shop eröffnen, indem ich meine Layouts verkaufen möchte. Ich habe mir von meinem ( Ex Freund war zufällig PHP erfahren ) auch ein Script Programmieren lassen, mitdem man Reseller verwalten kann. Ich hoffe ich habe mich klar ausgedrückt...habe leider keine Ahnung davon;-) Es wird dabei eine Variable ( res ) auf meine Seite übergeben. Z.b. index.php?res=1
Diese Variable möchte ich jetzt mit der Datenbank vergleichen und prüfen ob sie existiert. Falls nicht soll einfach über dem Header ein Fehler Text angezeigt werden, wie z.b." Ihre Resellernummer ist nicht korrekt oder Sie sind noch nicht als Reseller registriert"

Das Blöde ist, das das schon längst erledigt war , ich mich aber von meinem Freund getrennt habe und er die Dateien mitgenommen hat;-( nun stehe ich echt auf dem Schlauch weil die Seite so gut wie fertig ist

Ich habe mich jetzt selber mal versucht und tagelang in diversen Foren durchgelesen und sämtliche Sachen ausprobiert, doch leider ohne Erfolg;-(

Meine Frage nun, wie mache ich das am besten? Oder würde mir jemand sowas gegen ein gewisses Entgelt machen?


Bitte helft mir ich bin echt verzweifelt

Mit lieben Grüßen
Paulina
 
PaulinaBerlin hat gesagt.:
Z.b. index.php?res=1
Diese Variable möchte ich jetzt mit der Datenbank vergleichen und prüfen ob sie existiert. Falls nicht soll einfach über dem Header ein Fehler Text angezeigt werden, wie z.b." Ihre Resellernummer ist nicht korrekt oder Sie sind noch nicht als Reseller registriert"

Kommt die Variable "res" aus der Datenbank?
 
Kommt die Variable "res" aus der Datenbank?
:confused: Was hat denn das mit der Frage zu tun?

Also mal ums Prinzip: Du nimmst dir die Variable in PHP mit $_GET['res']. Dann suchst du mit einem MySQL-Query nach einem Datensatz, wo res den gleichen Wert hat wie $_GET['res']. Infos zu MySQL-Abfragen und überhaupt PHP im Allgemeinen gibt's hier:

http://www.schattenbaum.net/php

Könntest dir aber auch einfach deinen Freund wieder zurückholen. ;)
 
Dann suchst du mit einem MySQL-Query nach einem Datensatz[...]
Das meinte ich ja. Wenn der Variable direkt in der Datenbank enthalten ist, reicht das Query und man könnte sich die PHP-Klauseln "sparen". Oder liege ich da falsch?!

Paulina deutete doch an, sie hätte keine Ahnung :(
 
Freund zurück ... dann doch lieber jemanden dafür bezahlen ... den Wahnsinn muss ich nicht mehr haben... obwohl mich dieser PHP Kram mindestens genauso stresst*grins* Aber erstmal vielen Dank für Eure Antworten, auch der Link zur Seite ist Klasse @ Warrior doch leider verstehe ich die Sachen nicht so ganz. Ich frage doch meine Datenbank so ab oder:

//Verbindung herstellen
$db = mysql_connect("datenbankserver","user","passwort");
mysql_select_db("reseller",$db);

//Daten auslesen
mysql_query("SELECT * FROM res",$db);

Bitte nicht lachen ich bin blond. Falls das soweit richtig ist, verstehe ich nur nicht, wie ich jetzt die Variable mit den Einträgen in der Datenbank vergleichen kann und im Falle einer Nichtübereinstimmung einen Fehler darstellen lassen kann
 
An sich stimmt das @Paulina. Wobei man sich auch nur Spalten ausgeben sollte,die man wirklich braucht. Also wäre "SELECT Spalte1, Spalte2, FROM Tabelle" besser geeignet. Aber das nur nebenbei!

Naja, eine Beispiel für das Vergleich wäre:

$x = $_GET['res'];
$summe = mysql_db("SELECT Spalte1 FROM Tabelle WHERE res = $x");
$erg = mysql_num_rows($summe);

Wenn das wahr sein sollte, dann fragst du mittels einer If-Bedingung ab, ob das Ergebnis falsch oder wahr ist.

if ($erg == 1)
{
echo "Nummer vergeben";
}
else echo "Nummer nicht vergeben";



Ich hoffe, ich erzähl keinen Stuss, bin ja auch noch am Lernen :P
 
Hallo Paulina,

wenn die Variable per URL an das PHP-Script übergeben wird (also über index.php?res=1), dann kann sie in PHP als "Super-Globale" $_REQUEST["res"] verwendet werden. Wenn Du einfach überprüfen willst, ob dieser Wert in einem Tabellenfeld vorkommt, dann wäre das schnellste SQL-Statement meines Erachtens etwas wie
"SELECT COUNT(*) FROM tebellenname WHERE res = '".$_REQUEST["res"]."'".

So könnte der PHP-Code in etwa aussehen:
PHP:
// Ist die Variable res überhaupt übergeben?
if (!isset($_REQUEST["res"])) die("Keine Reseller-Nummer angegeben!");

// Datenbank-Verbindung:
$con = mysql_connect("datenbankserver", "user", "passwort");
mysql_select_db("reseller", $con);

// Datenbank-Abfrage
$sql = "SELECT COUNT(*) FROM tabellenname WHERE res = '".$_REQUEST["res"]."'";
$rst = mysql_query($sql, $con);
$row = mysql_fetch_row($rst);
mysql_free_result($rst);

if ($row[0] < 1) die("Ihre Resellernummer ist nicht korrekt oder Sie sind noch nicht als Reseller registriert");

// Alles was jetzt kommt kriegen nur noch registrierte Reseller mit...
Das müsste das Prinzip verdeutlichen, hab' den Code allerdings nicht ausprobiert. Ich hoffe ich konnte ein bischen helfen.

Grüße,
Martin
 
dann kann sie in PHP als "Super-Globale" $_REQUEST["res"] verwendet werden.
Hm kleine Anmerkung noch. Soll jetzt nicht besserwisserisch klingen, aber ich hab mal gehört (hier im Forum natürlich :-)), dass man $_REQUEST nicht verwenden soll, sondern stattdessen lieber die spezifischen Variablen wie $_POST, $_COOKIE oder (wie in diesem Fall) $_GET.
 
Zurück