CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
20.08.2003, 14:40:50
|
Anfänger
|
|
Registriert seit: Nov 2002
Beiträge: 84
|
|
"umgekehrte" Abfrage
Hallo liebe MySQL Freaks.
ich habe ein Problem, welches ich einfach nicht lösen kann.
Code:
....
....
if(@mysql_select_db($dbname))
{
$sql = "SELECT j.id_job, j.job_nr, j.projekt, j.unterprojekt, j.team_admin, j.team_atelier,"
."j.phase, j.budget, j.e_datum, j.prioritaet, j.hinterlegt, j.hinterlegt_bem, r.streichen FROM $tblname1 j, $tblname2 r WHERE j.id_job = r.id_job and j.prioritaet=$prioritaet ORDER BY (j.job_nr);";
$erg = mysql_query($sql);
if($erg)
{
....
....
(Ich hoffe der Code ist einigermassen leserlich)
Beim Streichen eines Eintrages wird in Tabelle $tblname2, in der Spalte streichen ein "ok" eingetragen, zusätzlich werden mit id_job die Tabellen verknüpft.
Diese SQL Abfrage bewirkt, dass mir alle gestrichenen Einträge gezeigt werden. Dies funktioniert auch tiptop. Ich möchte aber...und jetzt kommt es...alle Einträge anzeigen, welche noch nicht gestrichen sind.
Ich finde irgendwie keine Lösung, hoffe aber auf eure Hilfe.
Besten Dank
Geri
|
20.08.2003, 15:21:55
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 43
|
|
hmm, ich würde die WHERE-Abfrage umkehren, aber ich weiß nicht ob das bei deiner Abfrage klappt, dass aus WHERE x = y WHERE x <> y
könnte Dir das helfen?
Taube
|
20.08.2003, 15:25:56
|
Anfänger
|
|
Registriert seit: Nov 2002
Beiträge: 84
|
|
Habe dies schon probiert. dann habe ich pro eintrag 3 ausgaben...
|
20.08.2003, 15:58:09
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 43
|
|
um es etwas zu kürzen:
Code:
if(@mysql_select_db($dbname))
{
$sql = "SELECT * FROM $tblname1 j, $tblname2 r WHERE j.id_job = r.id_job and j.prioritaet=$prioritaet ORDER BY (j.job_nr);";
$erg = mysql_query($sql);
if($erg)
Welche WHERE-Angabe wird denn geändert? Gibts da eine while-schleife?
Verstehe nicht gant wieso man dann 3 Ergebnisse bekommt.
Taube
|
20.08.2003, 16:03:19
|
Anfänger
|
|
Registriert seit: Nov 2002
Beiträge: 84
|
|
das löst aber mein Problem nicht!?
und ich will bei der Select abfrage bewusst nicht alle Spalten auslesen lassen.
Sonst nichts auf Lager?
|
20.08.2003, 19:26:56
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 43
|
|
Ich hab das * nur eingebaut damit ich/wir hier im Forum besser auseinander frickeln können, deshalb die nachstehenden Fragen:
[/quote]Welche WHERE-Angabe wird denn geändert? Gibts da eine while-schleife?
Verstehe nicht gant wieso man dann 3 Ergebnisse bekommt.[/quote]
mfg - Taube
|
21.08.2003, 08:28:01
|
Junior Member
|
|
Registriert seit: Apr 2003
Ort: TÜ
Beiträge: 337
|
|
Hi,
könnte es sein, daß Du folgendes suchst?
(Abfrage gekürzt bis WHERE- Teil):
WHERE j.id_job = r.id_job and j.prioritaet=$prioritaet
AND r.streichen NOT LIKE 'ok'
ORDER BY...
Ich verstehe auch nicht, warum Du in der ursprünglichen Abfrage nur die Datensätze zurück geliefert bekommst, wo r.streichen = 'ok' ist.
Diese Einschränkung (WHERE...) ist zumindest in Deiner Frage nicht ersichtlich. Daher müsstest Du IMHO eigentlich alle Datensätze bekommen, für die die JOIN- Bedingung erfüllt ist. Aber vielleicht habe ich heute morgen meine Augen auch noch nicht so weit offen, um es zu sehen ;-)
HTH,
Andy Maurer
|
21.08.2003, 09:03:50
|
Anfänger
|
|
Registriert seit: Nov 2002
Beiträge: 84
|
|
Danke Andi
ich glaube das Problem liegt ganz wo anders....
Es sind nicht gleich viele Einträge in Tabelle job (j) und Tabelle rapport (r).
Ich probiere mal alles zu Zitieren:
Über eine Übersichtsseite lasse ich alle Werte von Tabelle job (j) einlesen. Dies sind aktuelle Arbeiten und Projekte unseres Unternehmen.
Sobald diese Projekte abgeschlossen werden, möchte ich diese von dieser Liste streichen, jedoch den Datensatz nicht löschen, da ich diesen noch weiter verwenden möchte.
In dieser Übersichtsseite möchte ich nun alle Projekte von Tabelle jobs(j) anzeigen, welche keinen Eintrag in Tabelle rapport (r), in der Spalte "streichen" haben. Also noch gar nicht in Tabelle rapport(r) vorhanden sind.
Ich weiss nicht ob dies überhaupt geht. Vielleicht muss ich für dies nicht einmal eine zweite Tabelle generieren.
Ich danke für jeden Hinweis
mfg
Geri
|
21.08.2003, 09:49:13
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 43
|
|
Zitat:
Sobald diese Projekte abgeschlossen werden, möchte ich diese von dieser Liste streichen, jedoch den Datensatz nicht löschen, da ich diesen noch weiter verwenden möchte.
|
->> wird das in die raport gespeichert ?-:)
|
21.08.2003, 09:51:43
|
Anfänger
|
|
Registriert seit: Nov 2002
Beiträge: 84
|
|
nein, eben nicht.
ich bin gerade am pröbeln. habe einen neuen beitrag geschrieben. ich müsste also in tabelle rapport und job diesen eintrag vornehmen. geht dies überhaupt??
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:58:34 Uhr.
|