php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.06.2005, 09:53  
Gast
 
Beiträge: n/a
Standard Prüfen ob Datensatz vorhanden

Hi Phreaks,
Ich möchte im unteren Beispiel eine Prüfung nach bereits vorhandenem Eintrag durchführen bevor der neue Datensatz hinzugefügt wird. Die ID (PK) möchte ich allerdings nicht als Prüfungskriterium verwenden deshalb bitte ich euch mir zu helfen für mein Beispiel die richtige Lösung zu finden? Im Prinzip weis ich wie das zu lösen ist doch meine versuche mit:
“mysql_fetch_object()“ und “mysql_num_rows()” schlug leider fehl. Da ich nicht viel Erfahrung mit PHP habe bitte ich um ein Beispiel das mir zeigt was ich falsch mache und wie es richtig gehört.
Vielen Dank im Voraus!

PHP-Code:
<?php
require_once "xxxxx.php";

//Produkt gruppe hinzufügen
if ($_POST['prodgrpsubmit']) {
$ProdGrpName=$_POST['ProdGrpName'];
$ProdGrpId=$_POST['ProdGrpId'];
$query ="INSERT INTO ProdGrp (ProdGrpName)";
$query.=" VALUES ('$ProdGrpName')";
$result=mysql_query($query);
if (
$result) echo "[b]Eintrag erfolgreich übernommen![/b]";
else echo 
"[b]Fehler:
 Datensatz nicht eingefügt,
[url='InsertPage.php']Erneut versuchen.[/url][/b]"
;
}
?>
<form method="POST" action="<? echo $PHP_SELF ?>">
[b]Produktgruppen Name[/b]
<input name="ProdGrpId" type="hidden" value="" size="4">


<input name="ProdGrpName" type="text" size="25" maxlength="50">


<input type="submit" name="prodgrpsubmit" value="Gruppe Hinzufügen">
</form>

<?php
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.06.2005, 10:01  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

gehts darum zu unterscheiden ob das was aktuell editiert wird schon ein eintrag ist, ODER ein neuer wird ?

grobschema:
SELECT feldname FROM tabelle WHERE feldname='wert'

??

btw <? echo $PHP_SELF ?>

funktioniert nur bei register_globals = on
http://www.phpfriend.de/ftopic26569.html

mfg
robo47
robo47 ist offline  
Alt 30.06.2005, 10:01  
Gast
 
Beiträge: n/a
Standard

Du solltest mal ganz schnell deine Website ändern !
 
Alt 30.06.2005, 10:03  
Gast
 
Beiträge: n/a
Standard

hier noch zur übersicht mein erstes Beispiel das nicht funktioniert
PHP-Code:
<?php
$sql 
"SELECT ProdGrpId FROM ProdGrp WHERE ProdGrpName LIKE '$ProdGrpName';";
$result mysql_query($sql);
$data mysql_num_rows($result);

if (isset(
$data[id])) { echo 'name gibt es schon in der Datenbank';}
else {

?>
 
Alt 30.06.2005, 10:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

das query sollte aber imho funktionieren
nur deine auswertung ist bockmist.
$data[id] woher soll das kommen?

mach mal ein var_dump($data); dann wirst du sehen was drinsteht.
robo47 ist offline  
Alt 30.06.2005, 10:06  
Erfahrener Benutzer
 
Registriert seit: 17.01.2005
Beiträge: 227
Mirod
Standard

PHP-Code:
<?php
require_once "xxxxx.php"

//Produkt gruppe hinzufügen 
if ($_POST['prodgrpsubmit']) { 
  
$ProdGrpName=$_POST['ProdGrpName']; 
  
$ProdGrpId=$_POST['ProdGrpId']; 
  
$selectquery "SELECT ProdGrpName FROM ProdGrp WHERE ProdGrpName = $ProdGrpName";
  
$selectresult mysql_query($selectquery);
  if(
mysql_num_rows($selectresult) > 0) {
    echo 
"Datensatz gibt's schon.";
  } else {
    
$query ="INSERT INTO ProdGrp (ProdGrpName)"
    
$query.=" VALUES ('$ProdGrpName')"
    
$result=mysql_query($query); 
    if (
$result)
      echo 
"[b]Eintrag erfolgreich übernommen![/b]"
    else
      echo 
"[b]Fehler:
 Datensatz nicht eingefügt,
[url='InsertPage.php']Erneut versuchen.[/url][/b]"

  }
}
?> 
<form method="POST" action="<? echo $PHP_SELF ?>"> 
[b]Produktgruppen Name[/b] 
<input name="ProdGrpId" type="hidden" value="" size="4"> 

 
<input name="ProdGrpName" type="text" size="25" maxlength="50"> 

 
<input type="submit" name="prodgrpsubmit" value="Gruppe Hinzufügen"> 
</form>
?>
Mirod ist offline  
Alt 30.06.2005, 10:06  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 532
PHP-Kenntnisse:
Fortgeschritten
schifti
Standard

du musst noch die Verbindung mit angeben bei mysql_query
__________________
MFG Schifti
auch ein Forum (PHP)
schifti ist offline  
Alt 30.06.2005, 10:12  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von schifti
du musst noch die Verbindung mit angeben bei mysql_query
der Parameter ist keine Pflicht, er wird eignetlich nur dann gebruacht, wenn man mehr als eine Verbindung zur Datenbank offen hat oder z.b. Verbindungen zu mehreren Datenbanken.

mfg
robo47
robo47 ist offline  
Alt 30.06.2005, 10:14  
Gast
 
Beiträge: n/a
Standard

Es geht darum zu prüfen ob der neue Eintrag bereits vorher eingetragen wurde und bereits vorhanden ist oder nicht (es soll keine update Funktion werden)
 
Alt 30.06.2005, 10:16  
Gast
 
Beiträge: n/a
Standard

ganz nebenbei, Danke CIX88!!!
 
 


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
Bei UPDATE erkennen, ob der Datensatz existiert? Anotherone Datenbanken 7 01.04.2008 14:49
Wie kann ich mit php/mysql einen Datensatz anzeigen lassen, wenn einer vorhanden ist? Minimi PHP Tipps 2008 10 03.02.2008 19:01
auf nächsten Datensatz zugreifen cycap Datenbanken 5 18.12.2007 14:32
Abfrage ob email adresse schon vorhanden ist TeazY PHP Tipps 2008 10 16.12.2007 12:22
datensatz problem 24bits PHP Tipps 2006 1 30.08.2006 18:52
Import aus CSV-File mit Prüfung ob Datensatz schon vorhanden rüdi Datenbanken 18 12.05.2006 10:41
einen variablen datensatz löschen PHP Tipps 2007 3 04.11.2005 12:41
prüen ob url aus txt vorhanden lord nacon PHP Tipps 2005-2 12 16.08.2005 19:53
nächsten datensatz bei klick auf button weiter... PHP Tipps 2005-2 1 14.08.2005 12:19
Datensatz geändern? patr1k PHP Tipps 2005 12 14.02.2005 12:46
Befehl zum prüfen ob Datensatz vorhanden &amp;lt;= Please Help M Datenbanken 4 12.01.2005 14:20
Leeren Datensatz editierbar machen Anuschka PHP Tipps 2004-2 1 27.12.2004 13:28
[Erledigt] Datensätze erzeugen fals nicht vorhanden Datenbanken 5 05.12.2004 12:38
Update von ausgelesenem Datensatz Datenbanken 3 12.10.2004 10:18
Datensatz abfragen und in Formularfeldern ausgeben Datenbanken 1 25.08.2004 09:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php überprüfen ob datensatz in csv vorhanden, php wenn datensatz existiert einfügen, php datensatz in url vorhanden, http://www.php.de/php-tipps-2005-2/25733-pruefen-ob-datensatz-vorhanden.html, prüfen ob datensatz hinzugefügt php, datenbank php datensatz vorhanden

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:40 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.