php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2011, 15:10  
RRR
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
RRR befindet sich auf einem aufstrebenden Ast
Standard Bei vielen Usern jeweils einen Eintrag überprüfen

Hallo,

so, jetzt wirds komplizierter!

Ich habe viele User bei mir im Skript in der Tabelle xxx_kontodaten. Nun möchte ich von jedem User unter der UID dieses Users überprüfen, ob eine Bedingung in einer anderen Tabelle erfüllt ist.

Ich poste hier einfach mal meinen jetzigen Code, denn so gut erklären kann ich das nicht.

PHP-Code:
$usersql db_query("SELECT uid FROM ".$db_prefix."_kontodaten");

while (
$user mysql_fetch_assoc ($usersql['uid'])){
 
$bonussql=db_query("SELECT * FROM ".$db_prefix."_goldmember WHERE uid=".$user." AND (gueltig_bis>=".time()." OR unbegrenzt='1') LIMIT 1");
if (
$bonussql['bonus']==OR $bonussql['bonus']==OR $bonussql['bonus']==OR  $bonussql['bonus']==) {
db_query("UPDATE ".$db_prefix."_kontodaten SET premium = 1 WHERE uid = ".$user."");
db_query ("UPDATE ".$db_prefix."_kontodaten SET bkontostand = bkontostand+500 WHERE uid = ".$user."");
} else {
db_query("UPDATE ".$db_prefix."_kontodaten SET premium = 0 WHERE uid = ".$user."");
}
    } 
Dies funktioniert allerdings nicht.
Hoffe auf Hilfe!

Richard
RRR ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.12.2011, 15:18  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Wieso richtest du die ganze Sache nicht in einem Query ein? Wenn ich es richtig verstanden habe, versuchst du jetzt für jeden User mittels Query zu übrprüfen ob die Bedingung zu trifft...

Mach doch ein Query welches dir alle Benutzer anzeigt, bei denen die Bedingung zutrifft. Falls du wissen musst bei welchen es nicht zutrifft, einfach das gegenteil machen vom ersten Query?

Oder hab ich da was falsch verstanden?
Dadelu ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:19  
RRR
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
RRR befindet sich auf einem aufstrebenden Ast
Standard

Ja, bloß wie stelle ich das an?
RRR ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:23  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Vielleicht stelle ich mir das ein wenig zu einfach vor dein Problem... Aber...

PHP-Code:
 SELECT FROM deineTabelle a JOIN andereTabelle b ON a.uid b.uid
         WHERE b
.gueltig_bis >= .... 
Dann kriegst du alle Benutzer welche über die gültige Bedingung verfügen.
Dadelu ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:24  
RRR
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
RRR befindet sich auf einem aufstrebenden Ast
Standard

Werd jetzt mal etwas rumprobieren
RRR ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:27  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Wenn ich dich wäre, würde ich einfach mal am Query rumbasteln im phpMyAdmin (oder sonst einem Tool). Dann kannst du ja mal mit fixen Werten arbeiten und wenn dein Resultat deinen Vorstellungen entspricht, kannst es ja noch dynamisch machen mit PHP...
Dadelu ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:41  
RRR
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
RRR befindet sich auf einem aufstrebenden Ast
Standard

Nochmal genauer:

Es soll bei jedem vorhandenen Nutzer überprüft werden, ob unter seiner UID in der Tabelle ebwelt_goldmember der Eintrag bonus=2, bonus=3, bonus=4 oder bonus=5 vorhanden ist. Ist dies der Fall, soll in der Tabelle ebwelt_kontodaten unter der UID des Benutzers der Eintrag "premium" auf "1" gesetzt werden. Die Benutzer sind in der Tabelle ebwelt_kontodaten abgelegt.

ebwelt_kontodaten:
http://www.ebesucherwelt.de/DB1.PNG

ebwelt_goldmember:
http://www.ebesucherwelt.de/DB2.PNG
RRR ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:45  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi,

INNER JOIN ist schon ein möglicher, richtiger Ansatz. Du kannst "fast" alles über dein SQL Statement machen. Wie sieht dein jetziges Statement aus? $bonussql['bonus'] so fragts Du die Werte nicht ab, du meinst sicherlich sowas hier:

PHP-Code:
//Einfaches Beispiel
$qry mysql_query("SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id WHERE blablabla") or die("Fehler: ".mysql_error());

//Werte ausgeben
While ($row mysql_fetch_array($qry))
{
 echo 
$row["spaltenname"];

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:49  
RRR
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 15
PHP-Kenntnisse:
Anfänger
RRR befindet sich auf einem aufstrebenden Ast
Standard

Doch, die Werte werden so abgefragt

Es handelt sich um das Skript "VMS 1.2.4" von http://www.designerscripte.net/, der Support dort ist aber echt mies
RRR ist offline   Mit Zitat antworten
Alt 08.12.2011, 15:53  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Zitat:
Es handelt sich um das Skript "VMS 1.2.4"
-> nicht unerhebliche ZWischeninfo!

Zitat:
Dies funktioniert allerdings nicht.
Was geht nicht? Fehler? Debugging betrieben? Variablen ausgeben lassen? SQL Statements in phpmyadmin z.B. schon mal getestet?

mfg wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Antwort


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] MySQL überprüfen ob Eintrag vorhanden RRR Datenbanken 3 08.12.2011 09:55
[Erledigt] überprüfen ob ein bestimmter Eintrag in einer Textdatei existiert Zulakis PHP Einsteiger 12 03.03.2011 17:03
commentscript für jeden eintrag einen hups PHP-Fortgeschrittene 2 23.01.2011 12:00
Überprüfen ob ein Eintrag vorhanden ist ingo- PHP Einsteiger 16 06.01.2011 17:54
query von allen datensätze alle kunden jeweils der neueste eintrag... taurus Datenbanken 45 10.07.2010 14:26
[Erledigt] Menü ein - und ausklappen abdullah JavaScript, Ajax und mehr 8 27.02.2010 23:54
[Erledigt] Durch einen DB Eintrag alle anderen Einträge bearbeiten Rutor PHP Tipps 2010 8 08.02.2010 13:25
Array eintrag für Eintrag durchgehen und jeweils Feld hinzufügen Stephan_87 PHP Tipps 2009 3 12.02.2009 19:23
Eintrag in der Datenbank überprüfen Medium PHP Tipps 2008 5 05.01.2008 09:59
Formulardaten überprüfen vor Eintrag in DB Unbekanntes_Pferd PHP Tipps 2006 2 08.02.2006 18:33
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Eintrag wird nicht eingetragen (Kontrollfunktion lügt?) PHP Tipps 2005-2 0 02.10.2005 12:00
Eintrag in einer Tabelle überprüfen Datenbanken 2 10.01.2005 22:31
Eintrag überprüfen (MySQL) vor Neueitrag PHP Tipps 2004 2 14.10.2004 11:45


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