php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-09-2008, 06:10
schnuffel
 Newbie
Links : Onlinestatus : schnuffel ist offline
Registriert seit: Sep 2008
Beiträge: 2
schnuffel ist zur Zeit noch ein unbeschriebenes Blatt
Standard Datenbankeintrag wenn Spalte leer da eintragen sonst eine andere waehlen

Hallo Leute,

ich habe ein ziemlich kniffliges Problem. Leider konnte mir dazu in einem anderen Forum niemand helfen.

Also ...

Ich uebergebe aus einem Formular folgende Werte: Vorname, Name (aus der Session) und aus einem drop down ein Thema.

Dabei sollen Vorname und Name in einen SQL-Tabelle eingetragen werden und zwar da, wo das Thema uebereinstimmt.
In dieser Tabelle gibt es die Spalten nrthema, thema, referent1vorname, referent1name, referent2vorname und referent2name. Damit soll die Anzahl der Referenten auf 2 limitiert werden.

Ich habe das deshalb so gewaehlt, weil sich nrthema und thema aendern koennen.

Nun suche ich eine Moeglichkeit bei der zuerst ermittelt wird, ob ein Eintrag unter referent1vorname vorliegt. Falls nicht dann sollen Vorname und Name aus der Session als referent1vorname und referent1name bei dem gewaehlten Thema eingetragen werden.
Existiert bereist ein Eintrag dann sollen Vorname und Name aus der Session bei dem gewaehlten Thema als referent2vorname und referent2name eingetragen werden.

Leider sind alle Versuche mit IF ELSE oder SWITCH fehlgeschlagen. Ich kann zwar eine Bedingung wie SELECT referent1vorname ... und true oder false (oder ='', !-'' bzw. ="", !="") festlegen. Dabei wird leider nur entweder referent1 oder referent2 aktualisiert.

Mit reinem INSERT funktioniert es leider nicht, weil ich ja keinen neuen Tabelleneintrag machen moechte sondern den bei dem gewaehlten Thema nur ergaenzen.

Der Sinn besteht darin, dass ich gleichzeitig eine Anzeige haben moechte, bei der nrthema, thema, (referent1vorname, referent1name), (referent2vorname, referent2name) vorhanden sind und dabei im Auswahlmenue der Themen das jeweilige mit bereits zwei eingetragenen Referenten nicht mehr erscheint. (das habe ich bereits alles)

Lasse ich die Themen in einer neuen Tabelle speichern, bekomme ich bei der Ausgabe ja immer die doppelte Nennunng von nrthema und thema da OUTER JOIN leider nicht funktioniert.

Ich habe jetzt Tage damit zugebracht das Problem zu loesen aber ich finde keinen funktionierenden Ansatz.

Darum meine Bitte um jegliche hilfsbereite Ansaetze zur Loesung dieses Problems!

Vielen Dank schon mal im voraus ...

EDIT: noch der Code:

PHP-Code:
<?php
$sql 
"SELECT referent1vorname FROM seminarthemen WHERE thema='$Array[thema]'"
$result mysql_query($sql) OR die(mysql_error()); 
    
$row mysql_fetch_object($result); 
    
if (
$row '') { 

        
// Eintrag Referent1 pruefen, wenn nicht vorhanden eintragen 
        
$sql "UPDATE seminarthemen SET referent1vorname='$Array[referentvorname]', referent1nachname='$Array[referentnachname]' WHERE thema='$Array[thema]'"
        
mysql_query($sql) OR die(mysql_error()); 
    } else { 
        
// wenn Referent1 vorhanden dann Eintrag in Referent2  
        
$sql "UPDATE seminarthemen SET referent2vorname='$Array[referentvorname]', referent2nachname='$Array[referentnachname]' WHERE thema='$Array[thema]'"
        
mysql_query($sql) OR die(mysql_error()); 
    } 
   
// Ergebnis ausgeben 
    
$sql "SELECT * FROM seminarthemen WHERE thema='$Array[thema]'"
    
$result mysql_query($sql) OR die(mysql_error()); 
    while(
$row mysql_fetch_object($result)) 
   { 
   echo 
"$row->nrthema, $row->thema   | ($row->referent1vorname $row->referent1nachname), ($row->referent2vorname $row->referent2nachname)<br>"
   } 

?>
$Array[thema] ist das aus dem Auswahlmenue gewaehlte Thema,
$Array[referentvorname] ist der Vorname aus der Session,
$Array[referentnachname] ist der Nachname aus der Session

Fehlermeldungen bekomme ich keine.
Nur wird eben immer nur bei Referent2 aktualisiert.

Geändert von schnuffel (11-09-2008 um 06:39 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 11-09-2008, 07:18
uspri
 Registrierter Benutzer
Links : Onlinestatus : uspri ist offline
Registriert seit: Nov 2002
Ort: Freiberg / Sachsen
Beiträge: 83
uspri ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
if ($row = '') {
sollte wohl

PHP-Code:
if ($row == '') { 
lauten?
Mit Zitat antworten
  #3 (permalink)  
Alt 11-09-2008, 19:54
Payne_of_Death
 Master
Links : Onlinestatus : Payne_of_Death ist offline
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
Payne_of_Death ist zur Zeit noch ein unbeschriebenes Blatt
Payne_of_Death eine Nachricht über ICQ schicken Payne_of_Death eine Nachricht über AIM schicken Payne_of_Death eine Nachricht über Yahoo! schicken
Standard

Also ich kenne mysql_fetch_object nicht wirklich aber du musst schon auf ein Offset zurückgreifen wie es auch bei mysql_fetch_assoc der Fall ist.

Mysql-Fetch-Assoc

Dort siehst du u.A. auch das die Funktion im Falle wenn es keine Datensätze gibt FALSE zurückliefert

Wenn du das verstanden hast solltest du dir noch den elementaren Unterschied den mein Vorredner schon angesprochen hat verinnerlichen....

if($blubb = 5)

ist generell immer TRUE. Da sich hierbei um eine Zuweisung handelt. Die Operatoren sollten im großen und ganzen analog zu Java/C++ sein.
Weshalb dein gesuchter Operator schon mal == ist
__________________
MfG Payne_of_Death

Manual(s): <-| PHP | MySQL | SELFHTML |->
Merke:
Du brauchst das Rad nicht neu erfinden ! <-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-09-2008, 05:27
schnuffel
 Newbie
Links : Onlinestatus : schnuffel ist offline
Registriert seit: Sep 2008
Beiträge: 2
schnuffel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, Danke erstmal.

Das hat mich jetzt zwar nicht wirklich weiter gebracht aber zumindest gibt es Reaktionen.

Natuerlich habe ich mich durch diverse Seite ueber PHP und MYSQL gewuehlt. Aber ich bin bisher nie auf eine deratige Problematik gestossen. Ich meine, es kann doch nicht so schwer sein etwas dazu zu finden wie ... lies die bestimmte Spalte bei der bestimmten Zeile aus, wenn leer dann schreib dort das rein, wenn dort schon was steht, dann schreib in eine andere etwas rein.

Leider habe ich mich dazu geirrt. Oder ich verwende einfach die falschen Suchwoerter. Das will ich gar nicht ausschliessen.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-09-2008, 13:12
Payne_of_Death
 Master
Links : Onlinestatus : Payne_of_Death ist offline
Registriert seit: Dec 2002
Ort: Folterkeller Nr. 18
Beiträge: 2.953
Payne_of_Death ist zur Zeit noch ein unbeschriebenes Blatt
Payne_of_Death eine Nachricht über ICQ schicken Payne_of_Death eine Nachricht über AIM schicken Payne_of_Death eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von schnuffel
Ok, Danke erstmal.

Natuerlich habe ich mich durch diverse Seite ueber PHP und MYSQL gewuehlt. Aber ich bin bisher nie auf eine deratige Problematik gestossen. Ich meine, es kann doch nicht so schwer sein etwas dazu zu finden wie ... lies die bestimmte Spalte bei der bestimmten Zeile aus, wenn leer dann schreib dort das rein, wenn dort schon was steht, dann schreib in eine andere etwas rein.

Leider habe ich mich dazu geirrt. Oder ich verwende einfach die falschen Suchwoerter. Das will ich gar nicht ausschliessen.
Man kann gutgläubig alle Unwahrheiten aus diversen Foren glauben oder man freundet sich mit dem PHP Manual an, wo auch der letzte PHP Workaround in den User Comments festgehalten worden ist.

In deinem Fall wäre wohl sowas wie:

PHP-Code:
if($row->referent1vorname == ""
ein Wink in die richtige Richtung.

BTW: mein vorheriger Link ist eigentlich Mysql-Fetch-Objekt
__________________
MfG Payne_of_Death

Manual(s): <-| PHP | MySQL | SELFHTML |->
Merke:
Du brauchst das Rad nicht neu erfinden ! <-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

Murphy`s Importanst LAWS
Jede Lösung bringt nur neue Probleme
Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
In jedem kleinen Problem steckt ein großes, das gern raus moechte.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:44 Uhr.