php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.09.2004, 14:16  
Gast
 
Beiträge: n/a
Standard Vergleich von einem Wert, mit Werten aus einer Tabelle

Mahlzeit!

Da ich hier neu bin, hoffe ich nicht das falsche Forum getroffen zu haben

Ich habe ein kleineres Problem mit PHP und einer Datenbank.
Ich möchte gern einen Wert, den der User über ein Formular eingibt mit Werten aus meiner DB vergleichen, um doppelte Einträge zu vermeiden.

Es sollen also Werte aus einer Spalte der Tabelle herausgezogen werden und mit dem eingegebenen wert verglichen werden, wenn es schon einen identischen Wert gibt, soll eine Fehlermeldung augegeben werden, wenn nicht, soll der Wert eingetragen werden.


Ich hoffe mich verständlich ausgedrückt zu haben.

PS: hier ist der Quelltext:
Code:
<?php
  include('connect.php');
  ?>

<html>
<head></head>
<body>
<?php
$Vorname = $HTTP_POST_VARS["Vorname"];
$Nachname = $HTTP_POST_VARS ["Nachname"];
$Abteilung = $HTTP_POST_VARS["Abteilung"];
$Kostenstelle = $HTTP_POST_VARS["Kostenstelle"];
$Stammnummer =$HTTP_POST_VARS ["Stammnummer"];
$Hinfahrt = $HTTP_POST_VARS["Hinfahrt"];
$Rueckfahrt = $HTTP_POST_VARS["Rueckfahrt"];
$abt = $Abteilung;
$abt2 = $Abteilung;
$stamm = $Stammnummer + 2;
?>
<?php

if ($Vorname=="" OR $Nachname=="" OR $abt="" OR $Kostenstelle=="" OR $Stammnummer=="" OR $Hinfahrt=="Abfahrtszeit" OR $Rueckfahrt=="Abfahrtszeit"){
echo "Bitte alle Felder ausf&uumlllen

Bitte benutzen sie den Zur&uumlck-Button ihres Browsers";
}
ELSE{

$eintrag = "INSERT INTO Mitarbeiter (Vorname, Nachname, Abteilung, Kostenstelle, Stammnummer, Hinfahrt,
 Rückfahrt) VALUES ('$Vorname', '$Nachname', '$abt', '$Kostenstelle','$stamm', '$Hinfahrt', '$Rueckfahrt')";

$eintragen = mysql_query($eintrag);


 echo "<table border=1><tr><td width=25>Name:</td><td> $Nachname, $Vorname</td></tr>
<tr><td>Abteilung:</td><td>$abt2</td></tr>
<tr><td>Kostenstelle:</td><td>$Kostenstelle</td></tr>
<tr><td>StammNr.:</td><td> $Stammnummer</td></tr>
<tr><td>Hin-/Rückfahrt:</td><td> $Hinfahrt/$Rueckfahrt</td></tr></table>";
}
?>
</body>
</html>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.09.2004, 14:21  
Gast
 
Beiträge: n/a
Standard

Code:
$sql = mysql_query("SELECT * FROM tabelle WHERE spaltenname = 'text'");

if(mysql_num_rows($sql) == 0) {
print 'Dieses Wort ist nicht in der Datenbank';
} else {
print 'Es gibt schon so ein Wort.';
}

mfg
DarkManX
 
Alt 22.09.2004, 14:38  
Gast
 
Beiträge: n/a
Standard

Hmm, funzt net, bin wohl heut n büschn zu blöd dazu...
 
Alt 23.09.2004, 09:06  
Gast
 
Beiträge: n/a
Standard

Leider funktioniert es immer noch nicht, vielleicht findet ja jemand den Fehler.

Er muss irgendwo in der ersten if-Bedingung liegen, diese soll Werte aus der DB mit einem eingegebenen Wert vergleichen.

Code:
<?php
  include('connect.php');
  ?>

<html>
<head></head>
<body>
<?php
$Vorname = $HTTP_POST_VARS["Vorname"];
$Nachname = $HTTP_POST_VARS ["Nachname"];
$Abteilung = $HTTP_POST_VARS["Abteilung"];
$Kostenstelle = $HTTP_POST_VARS["Kostenstelle"];
$Stammnummer =$HTTP_POST_VARS ["Stammnummer"];
$Hinfahrt = $HTTP_POST_VARS["Hinfahrt"];
$Rueckfahrt = $HTTP_POST_VARS["Rueckfahrt"];
$abt = $Abteilung;
$abt2 = $Abteilung;
$stamm = $Stammnummer + 2;
?>
<?php
$alpha= "SELECT * FROM Mitarbeiter WHERE Stammnummer = $stamm";
$sql = mysql_query($alpha); 

if(mysql_num_rows($sql) == $stamm) { 
print "Ihre Stammnummer ist schon einmal vorhanden."; 
} 
ELSE { 
if ($Hinfahrt>=$Rueckfahrt){
echo "Bitte die die Abfahrtszeit f&uumlr die Hinfahrt oder R&uumlckfaht berichtigen!";
}
ELSE{
if ($Vorname=="" OR $Nachname=="" OR $abt="" OR $Kostenstelle=="" OR $Stammnummer=="" OR $Hinfahrt=="Abfahrtszeit" OR $Rueckfahrt=="Abfahrtszeit"){
echo "Bitte alle Felder ausf&uumlllen

Bitte benutzen sie den Zur&uumlck-Button ihres Browsers";
}
ELSE{
$eintrag = "INSERT INTO Mitarbeiter (Vorname, Nachname, Abteilung, Kostenstelle, Stammnummer, Hinfahrt,
 Rückfahrt) VALUES ('$Vorname', '$Nachname', '$abt', '$Kostenstelle','$stamm', '$Hinfahrt', '$Rueckfahrt')";
$eintragen = mysql_query($eintrag); 
echo "Ihre eingegebenen Daten:

<table border=1><tr><td width=25>Name:</td><td> $Nachname, $Vorname</td></tr>
<tr><td>Abteilung:</td><td>$abt2</td></tr>
<tr><td>Kostenstelle:</td><td>$Kostenstelle</td></tr>
<tr><td>StammNr.:</td><td> $Stammnummer</td></tr>
<tr><td>Hin-/Rückfahrt:</td><td> $Hinfahrt/$Rueckfahrt</td></tr></table>";
}
}
}
?>
</body>
</html>
 
Alt 23.09.2004, 09:16  
Gast
 
Beiträge: n/a
Standard

verwende immer mysql_error() wenn du irgendwo mysql_query() im einsatz
hast.
 
Alt 23.09.2004, 09:30  
Gast
 
Beiträge: n/a
Standard

Versuchs mal so:
Code:
if(mysql_num_rows($sql) >= 1) {
print "Ihre Stammnummer ist schon einmal vorhanden.";
}
ELSE {
denn mysql_num_rows gibt aus wie viele Datensätze gefunden wurden
und weil ja nur ein neuer Datensatz angelegt werden soll wenn es so einen noch nicht gibt muss mysql_num_rows kleiner 1 sein.
 
Alt 23.09.2004, 09:53  
Gast
 
Beiträge: n/a
Standard

Der Abgleich scheint zu funktionieren, jetzt hängt er an der Abfrage der Fahrtzeiten, kann eigentlich nur ein Klammerfehler sein...
Code:
<html>
<head></head>
<body>
<?php
$Vorname = $HTTP_POST_VARS["Vorname"];
$Nachname = $HTTP_POST_VARS ["Nachname"];
$Abteilung = $HTTP_POST_VARS["Abteilung"];
$Kostenstelle = $HTTP_POST_VARS["Kostenstelle"];
$Stammnummer =$HTTP_POST_VARS ["Stammnummer"];
$Hinfahrt = $HTTP_POST_VARS["Hinfahrt"];
$Rueckfahrt = $HTTP_POST_VARS["Rueckfahrt"];
$abt = $Abteilung;
$abt2 = $Abteilung;
$stamm = $Stammnummer + 2;
?>
<?php
$alpha= "SELECT * FROM Mitarbeiter WHERE Stammnummer = $stamm";
$sql = mysql_query($alpha); 

if(mysql_num_rows($sql) >=1) { 
print "Ihre Stammnummer ist schon einmal vorhanden."; 
} 
ELSE { 
if ($Hinfahrt>=$Rueckfahrt){
echo "Bitte die die Abfahrtszeit f&uumlr die Hinfahrt oder R&uumlckfaht berichtigen!";
}
ELSE{
if ($Vorname=="" OR $Nachname=="" OR $abt="" OR $Kostenstelle=="" OR $Stammnummer=="" OR $Hinfahrt=="Abfahrtszeit" OR $Rueckfahrt=="Abfahrtszeit"){
echo "Bitte alle Felder ausf&uumlllen

Bitte benutzen sie den Zur&uumlck-Button ihres Browsers";
}
ELSE{
$eintrag = "INSERT INTO Mitarbeiter (Vorname, Nachname, Abteilung, Kostenstelle, Stammnummer, Hinfahrt,
 Rückfahrt) VALUES ('$Vorname', '$Nachname', '$abt', '$Kostenstelle','$stamm', '$Hinfahrt', '$Rueckfahrt')";
$eintragen = mysql_query($eintrag); 
echo "Ihre eingegebenen Daten:

<table border=1><tr><td width=25>Name:</td><td> $Nachname, $Vorname</td></tr>
<tr><td>Abteilung:</td><td>$abt2</td></tr>
<tr><td>Kostenstelle:</td><td>$Kostenstelle</td></tr>
<tr><td>StammNr.:</td><td> $Stammnummer</td></tr>
<tr><td>Hin-/Rückfahrt:</td><td> $Hinfahrt/$Rueckfahrt</td></tr></table>";
}
}
}
?>
</body>
</html>
 
Alt 23.09.2004, 09:57  
Gast
 
Beiträge: n/a
Standard

wenn du deinen code mal anständig einrücken würdest, dann würdest du auch
evtl fehlende klammern sehen.
 
Alt 23.09.2004, 10:04  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von stef
wenn du deinen code mal anständig einrücken würdest, dann würdest du auch
evtl fehlende klammern sehen.
Ich hoffe jetzt steigt man besser durch.

Code:
<?php
  include('connect.php');
  ?>

<html>
<head></head>
<body>

<?php
$Vorname = $HTTP_POST_VARS["Vorname"];
$Nachname = $HTTP_POST_VARS ["Nachname"];
$Abteilung = $HTTP_POST_VARS["Abteilung"];
$Kostenstelle = $HTTP_POST_VARS["Kostenstelle"];
$Stammnummer =$HTTP_POST_VARS ["Stammnummer"];
$Hinfahrt = $HTTP_POST_VARS["Hinfahrt"];
$Rueckfahrt = $HTTP_POST_VARS["Rueckfahrt"];
$abt = $Abteilung;
$abt2 = $Abteilung;
$stamm = $Stammnummer + 2;
?>

<?php
$alpha= "SELECT * FROM Mitarbeiter WHERE Stammnummer = $stamm";
 $sql = mysql_query($alpha); 

if(mysql_num_rows($sql) >=1) { 
  print "Ihre Stammnummer ist schon einmal vorhanden."; 
}
 
ELSE { 
 if ($Hinfahrt>=$Rueckfahrt){
   echo "Bitte die die Abfahrtszeit f&uumlr die Hinfahrt oder R&uumlckfaht berichtigen!";
}

ELSE{
 if ($Vorname=="" OR $Nachname=="" OR $abt="" OR $Kostenstelle=="" OR $Stammnummer=="" 
     OR $Hinfahrt=="Abfahrtszeit" OR $Rueckfahrt=="Abfahrtszeit"){
      echo "Bitte alle Felder ausf&uumlllen

Bitte benutzen sie den Zur&uumlck-Button ihres Browsers";
}

ELSE{
 $eintrag = "INSERT INTO Mitarbeiter (Vorname, Nachname, Abteilung, Kostenstelle, Stammnummer, Hinfahrt,
   Rückfahrt) VALUES ('$Vorname', '$Nachname', '$abt', '$Kostenstelle','$stamm', '$Hinfahrt', '$Rueckfahrt')";
    $eintragen = mysql_query($eintrag); 
      echo "Ihre eingegebenen Daten:

<table border=1><tr><td width=25>Name:</td><td> $Nachname, $Vorname</td></tr>

<tr><td>Abteilung:</td><td>$abt2</td></tr>
<tr><td>Kostenstelle:</td><td>$Kostenstelle</td></tr>
<tr><td>StammNr.:</td><td> $Stammnummer</td></tr>
<tr><td>Hin-/Rückfahrt:</td><td> $Hinfahrt/$Rueckfahrt</td></tr></table>";

}
}
}
?>
</body>
</html>
 
Alt 23.09.2004, 10:27  
Gast
 
Beiträge: n/a
Standard

wenn ich mich nicht irre, müssen die einzelnen Abfragen in einer if-Abfrage in einzelne klammern gesetzt werden.

sprich

PHP-Code:
 if (($Vorname=="") OR ($Nachname=="") OR ($abt="") OR ($Kostenstelle=="") OR ($Stammnummer=="") OR ($Hinfahrt=="Abfahrtszeit") OR ($Rueckfahrt=="Abfahrtszeit")){ 
Also so, wie HIER in den Beispielen
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Dropdown mit Werten aus mySQL Tabelle füllen PHP Tipps 2005 18 11.06.2009 10:46
[Erledigt] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
maximum wert einer tabelle wiedergeben incubo PHP-Fortgeschrittene 6 13.03.2008 18:22
SQL-Abfrage mit Wert aus anderer Tabelle füllen maeck Datenbanken 2 25.07.2007 20:36
In einer Abfrage Wert, aus einer anderen Tabelle abfragen? &lt;Daniel&gt; Datenbanken 1 26.10.2006 16:30
wert aus einer tabelle mit wert aus andere tabelle ersetzen lindner Datenbanken 3 11.07.2006 17:20
Tabelle mittels ID einen Wert zuweisen? Picard PHP Tipps 2006 8 22.03.2006 18:38
Tabelle nach einem Wert durchsuchen, wenn vorhanden... PHP Tipps 2007 3 08.12.2005 19:52
>>Anzeigen wenn Bestimmter Wert in der Tabelle vorhand PHP Tipps 2007 1 07.12.2005 22:01
Pulldown/Combobox dyn. von Tabelle und Wert weitergeben PHP Tipps 2005-2 7 09.08.2005 23:46
MySQL Tabelle nach wert in spalte durchsuchen PHP Tipps 2005 5 31.01.2005 20:37
[Erledigt] Sortieren einer Tabelle mit den Werten aus einer anderen Tab Datenbanken 5 04.08.2004 18:09
werte einer tabelle mit werten einem array vergleichen PHP Tipps 2004 1 08.07.2004 21:33
Maximal Wert in MYSQL Tabelle nach id rausfinden? PHP Tipps 2004 3 03.07.2004 23:27
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2005/9498-vergleich-von-einem-wert-mit-werten-aus-einer-tabelle.html, tabellenwerte vergleichen sql, eingegebene datensätze in einer tabelle vergleichen php/sql, sql abfrage vergleich von tabellenwerten, alle werte vergleichen mit den werten einer anderen tabelle, php include austauschen mit abfrage, tabellenwert mit combobox vergleichen, php if abfrage vergleichen von werten aus db, zahl in combobox mit tabellenzelle vergleichen, sql tabellenwert vergleichen, sql werte aus tabelle mit anderen werten vergleichen, sql abfrage vergleich welche werte nicht in einer tabelle sind, select * from tabelle where wert ist = wert, vergleichen wert einer combobox mit tabellenwerten, wert aus combobox mit tabelle vergleichen und wert ausgeben, sql mit wert vergleichen, form werte vergleichen html, eingegebener wert mit tabellenwert vergleichen, sql doppelte einträge vergleiche, vergleich tabelle php

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.