Zurück   Flashforum > Flash und Server > Flash und Datenbanken

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-12-2006, 12:09   #1 (permalink)
_root.bensen
 
Registriert seit: Sep 2004
Beiträge: 338
Flash variable, sql vergleich...

Hallo,


ich habe ein eingabeformular um eine email adresse und das geburtsdatum nachträglich hinzuzufügen.

die daten nummer und vorname sind schon vorhanden und müssen auch eingegeben werden um die email und das geburtsdatum in die richtige tabelle zu schreiben.

das funktioniert alles einwandfrei, nur würde ich gerne bei falscher vorname/nummer kombination eine fehlermeldung im flash film anzeigen, weil ja dann keine datensätze aktualiesiert werden können.

hier mal das php script :

PHP-Code:
<body bgcolor="#FEC34E">
<p>
<?
$num 
$_POST['nummer'];
$nam $_POST['nachname'];
$mail $_POST['email'];
$bday $_POST['day'];

  
    
$eintrag "UPDATE als SET email='$mail' WHERE nummer='$num' AND nachname='$nam'";
    include(
"dbconnect.php");
    
$eintragen mysql_query($eintrag);
    
$eintrag "UPDATE als SET geburtsdatum='$bday' WHERE nummer='$num' AND nachname='$nam'";
    include(
"dbconnect.php");
    
$eintragen mysql_query($eintrag);
?>
</p>
ich weiss leider nicht wie ich erst den vergleich mache ob $num und $nam zusammenpassen.

ein echo das die kombi nicht passt würde ja für flash reichen und den rest kann ich auch mit as machen.


vielen dank für die evtl. hilfe...
bensen ist offline   Mit Zitat antworten
Alt 07-12-2006, 12:12   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Das sollte helfen: mysql_affected_rows()
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-12-2006, 12:17   #3 (permalink)
_root.bensen
 
Registriert seit: Sep 2004
Beiträge: 338
kann ich nichts mit anfangen, trotzdem danke...
bensen ist offline   Mit Zitat antworten
Alt 07-12-2006, 12:50   #4 (permalink)
_root.bensen
 
Registriert seit: Sep 2004
Beiträge: 338
würde das nicht mit ner if schleife gehen ?

quasi if ($num (ungleich) $nam)

mysql_error


oder so in der art ?

selbst ein beispiel würde mir reichen, ich suche schon seit stunden und in meinen büchern finde ich auch nichts...

so schwer kann doch ein einfacher vergleich nicht sein oder ?

Geändert von bensen (07-12-2006 um 13:15 Uhr)
bensen ist offline   Mit Zitat antworten
Alt 07-12-2006, 13:28   #5 (permalink)
Neuer User
 
Benutzerbild von beautyIAF
 
Registriert seit: Aug 2006
Ort: Langweid am Lech
Beiträge: 40
Frag nach dem Absenden des Formulars deine DB Tabelle ab, mit $nam und $num in der Where Klausel, dann kannst du die beiden vergleichen, wenn Sie falsch sind / nicht zusammen passen gibst du eine Fehlermeldung aus, sind beide Daten richtig kannst du die Tabelle Updaten.

PHP-Code:
$sql mysql_fetch_array(mysql_query("SELECT * FROM 'tabelle' WHERE name = '".$nam."' AND num = '".$num."'"));

if ((
$num != $sql['num']) && ($nam != $sql['name']))
{
$fehler "Daten falsch";
}else{

mysql_query("UPDATE tabelle SET email = '".$email."', datum = '".$datum."'");
$fehler "Daten aktualisiert";

Nicht getestet, aber sollte funktionieren, kann man sicher noch etwas optimieren, aber ich denke es sollte erstmal reichen.
__________________
Schöne Grüße
beautyIAF
beautyIAF ist offline   Mit Zitat antworten
Alt 07-12-2006, 13:32   #6 (permalink)
Neuer User
 
Benutzerbild von beautyIAF
 
Registriert seit: Aug 2006
Ort: Langweid am Lech
Beiträge: 40
Zitat:
Zitat von beautyIAF Beitrag anzeigen
Frag nach dem Absenden des Formulars deine DB Tabelle ab, mit $nam und $num in der Where Klausel, dann kannst du die beiden vergleichen, wenn Sie falsch sind / nicht zusammen passen gibst du eine Fehlermeldung aus, sind beide Daten richtig kannst du die Tabelle Updaten.

PHP-Code:
$sql mysql_fetch_array(mysql_query("SELECT * FROM 'tabelle' WHERE name = '".$nam."' AND num = '".$num."'"));

if ((
$num != $sql['num']) && ($nam != $sql['name']))
{
$fehler "Daten falsch";
}else{

mysql_query("UPDATE tabelle SET email = '".$email."', datum = '".$datum."'");
$fehler "Daten aktualisiert";

Nicht getestet, aber sollte funktionieren, kann man sicher noch etwas optimieren, aber ich denke es sollte erstmal reichen.
Die Variante mit mysql_affected_rows wäre auch ganz nett:

PHP-Code:
$sql mysql_query("SELECT * FROM 'tabelle' WHERE name = '".$nam."' AND $num = '".$num."'");

$viel mysql_num_rows(); 
$zahl mysql_affected_rows($viel);

if (
$zahl <= "0")
{
$fehler "Keine Ändeurng möglich!";
}
else
{
mysql_query("UPDATE 'tabelle' SET email = '".$email."', datum = '".$datum."'");
$fehler "Daten aktualisiert!";

__________________
Schöne Grüße
beautyIAF

Geändert von beautyIAF (07-12-2006 um 13:57 Uhr)
beautyIAF ist offline   Mit Zitat antworten
Alt 07-12-2006, 13:35   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Vielleicht dann aber doch nochmal genauer im Manual lesen...
Zitat:
Zitat von php.net
Diese Funktion arbeitet nicht in Verbindung mit SELECT-Anfragen, sondern nur bei Anweisungen, die Datensätze verändern. Um die Anzahl der gelieferten Datensätze einer SELECT-Anfrage zu erhalten, benutzen Sie die Funktion mysql_num_rows().
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 07-12-2006, 14:08   #8 (permalink)
_root.bensen
 
Registriert seit: Sep 2004
Beiträge: 338
danke, funktioniert bestimmt, jetzt häng ich am flash part fest
bensen ist offline   Mit Zitat antworten
Alt 07-12-2006, 15:55   #9 (permalink)
_root.bensen
 
Registriert seit: Sep 2004
Beiträge: 338
so, es läuft leider nicht...

so sieht es aus, mit den richtigen variablen :


PHP-Code:
<body bgcolor="#FEC34E">
<p>
<?
$num 
$_POST['nummer'];
$nam $_POST['nachname'];
$mail $_POST['email'];
$bday $_POST['day'];

include(
"dbconnect.php"); 
$sql mysql_fetch_array("SELECT * FROM 'alsterlounge' WHERE nummer = '$num' AND nachname = '$nam'");
$eintra mysql_query($sql);
if ((
$nam != $sql['nachname']) && ($num != $sql['nummer']))
{
$fehler "1";
echo 
"&error=".$fehler."&";
}else{
    
$eintrag "UPDATE alsterlounge SET email='$mail' WHERE nummer='$num' AND nachname='$nam'";
    include(
"dbconnect.php");
    
$eintragen mysql_query($eintrag);
    
$eintrag "UPDATE alsterlounge SET geburtsdatum='$bday' WHERE nummer='$num' AND nachname='$nam'";
    include(
"dbconnect.php");
    
$eintragen mysql_query($eintrag);
}  
?>
</p>

leider bekomme ich auch wenn die eingabe richtig war einen fehler, ich hab alles möglich ausprobiert aber es kommt immer das selbe bei raus...

könnte bitte bitte nochmal jemand drüber schauen ?
bensen ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele