[GastForen Programmierung/Entwicklung PHP und MySQL datenbank erstellen / abfragen - multiple choice. . .

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

21. Dez 2004, 19:45
Beitrag # 1 von 12
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo hds !

weiss nicht genau, wie ich das am effizientesten programmieren soll. . .
es geht darum, links zu html-seiten aufzurufen, über eine suchabfrage.
3 Suchkriterien (resp. 3 Pulldown-Menues) müssen entsprechendend gewählt werden :
- Ort (Gemeinde)
- Dienstleistung
- Type (der dienstleistung) entweder "ambulant" oder "hospitalisiert"

es geht um eine DB, welche folgende felder aufweisen wird :

- id
- link_zur_htmlseite
- name_des_links
- ort
(da liegt der erste hacken, denn es können x Ortschaften sein - also 10 oder mehr... - diese sollen die entsprechenden Links aufrufen, auch wenn natürlich nur eine Gemeinde ausgewählt wird)
- dienstleistung (dasselbe, ein link zur entsprechenden htmlseite kann bis zu 26 verschiedenen Dienstleistungen gehören...)
- type (da gibt es wenigstens nur "Ambulant" oder "Hospital")

Könnte ich jetzt im Feld "ort" mehrere Ortschafen (mit Leerraum getrennt) aufführen und via index_of die entsprechenden Links abfragen lassen ?
Dasselbe mit den Dienstleistungen sowie Type ?

Oder ist es besser, die DB mit den feldern "ort1" "ort2" "ort3" etc erstellen und entsprechend nur eine Ortschaft pro Feld eintragen. Abfrage : select ort from DB wehre $ortschaft_xy=ort1 OR $ortschaft_xy=ort2 OR $ortschaft_xy=ort3 etc. . . ?

Oder muss ich da 3 DB's machen... ? aber wenn ich eine Tabel "ort", eine "Dienstleistung" und eine "Type" mache, wie bring ich diese dann wieder zusammen, damit diese abfrage 1 oder X links zu den HTML-Seiten bringen ?

Für Tipps und Tricks danke ich schon mal im voraus !
gruss
jurg


X

datenbank erstellen / abfragen - multiple choice. . .

Kusi
Beiträge gesamt: 1398

22. Dez 2004, 00:00
Beitrag # 2 von 12
Beitrag ID: #131938
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo
Ich denke, das würde gehen wenn du dann in der $abfrage = "select * from tabelle where ort = 'pulldown1' and gugus = 'pulldown2' and blabla = 'pulldown3' ";
eingibst, also das ganze in einem Formular hast und dann an ein Suchscript übergibtst.

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

Pozor
Beiträge gesamt: 892

22. Dez 2004, 08:20
Beitrag # 3 von 12
Beitrag ID: #131953
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jrandi,

Dies sind wichtige Fragen, wenns ums DB Design geht:

Links können mehrere Ortschaften haben.
können Ortschaften auch mehrere Links haben?
Links können mehrere Dienstleistungen beinhalten.
kännen Dienstleistungen auch mehrere Links haben?

Eine Dienstleistung kann ambulant oder hospitalisiert sein.

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

22. Dez 2004, 13:38
Beitrag # 4 von 12
Beitrag ID: #132022
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

erstmals besten dank für Eure Anregungen.

@ Kusi, ist zu umfangreich, gäbe ja 10 Zeilen Select Abfrage oder ich verstehe nicht wie du es meinst.

Muss mich da vielleicht noch deutlicher ausdrücken.

Ziel ist es die entsprechenden Links zu HTML-Seiten aufzurufen.
Diese HTML-Seiten müssen aber unter mehreren Ortschaften aufgerufen, resp. klassiert werden, dasselbe mit den Dienstleistungen und dann noch "ambulant" oder "hosptalisé". Alle diese Kombination aufzuführen, wie es bei Kusi's Beispiel aussieht, ist da zulang. . .

Bei der Suche wird nur 1 Kriterium pro Pulldown möglich sein.
z.B Ort XY, Dienstleistung XY, ambulant => ergibt html link XY

jedoch muss vielleicht genau derselbe link auch erscheinen, wenn ich im Pulldown Ort ZZ, Dienstleistung ZZ und ambulant eingebe => link XY

Darum muss der link, resp htmlseite, z.B. mit 10 Ortschaften, 26 Dienstleistungen sowie eben noch ambulant oder hospitalisé klassiert werden können.

=> siehe nochmals erstes Posting, hoffe es ist jetzt etwas klarer.

Nur, wie die Datenbank anlegen ? und wie abfragen ?
mehrer Ort-Felder oder nur eins und entsprechen viele Ortschaften darin auflisten ? Letztere Lösung erscheint mir einfacher um die DB zu erstellen, aber wie dann wieder auslesen ?

Besten dank für Eure Inputs !
jurg


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

22. Dez 2004, 13:39
Beitrag # 5 von 12
Beitrag ID: #132023
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
P.S.

eine Abfrage kann 1 oder x links aufrufen !


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

ganesh
Beiträge gesamt: 1981

22. Dez 2004, 14:29
Beitrag # 6 von 12
Beitrag ID: #132043
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
bei sog. many-to-many relationships musst Du halt mehrere Tabellen erstellen und via id's verknüpfen. Daten sind ja selten bis in alle Ewigkeit gültig, und früher oder später wirst Du Aenderungen haben. URLs können ändern, Dienstleistungsangebot mag wechseln, usw. Einzelne Einträge zu ändern, wenn Du alles in eine einzige Tabelle packst, ist mühsam.

d.h. eine Tabelle für Ortschaft, eine für Dienstleistungen, eine für URLs usw.

Bei den Abfragen musst Du dann darauf achten, dass Du entsprechende WHERE Eingrenzungen machst, bzw. GROUP BY verwendest, damit Du nicht zu viele Ergebnisse bekommst.


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

22. Dez 2004, 14:59
Beitrag # 7 von 12
Beitrag ID: #132061
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
bez. Flexibilität ist es sicher das beste, mehrere Tabellen zu machen, nur wie verbinde ich diese, damit der oder die entsprechenden links zur richtigen HTML-Seite erreichen. Eine Tabelle nur für die diversen ID's erstellen ?

Neben 185 Ortschaften gibt's noch 27 Dienstleistungen welche wiederum "ambulant" oder "hospitalisé" sein können.

Möglichkeiten : 27 x 185 = àhm so ca. 5000 und ambulant oder hospitalisé ist nich dabei. . .

diese ca. 5000 kombinationen sollen 1 oder x Links zu HTML-Seiten aufrufen. Link, resp. HTML-Seiten gibt es ca. 60

Es scheint mir das einfachste, von diesen 60 auszugehen und entsprechende Attribute anfügen, also z.B. 25 ortschaften und 9 Dienstleistungen oder wieviele das dann jeweils sind. . . und das attribut "ambulant" oder "hospitalisé". . .

Könnte ich da nicht einfachheitshalber alle benötigten Ortschaften unter dem Feld ORT einfügen, dasselbe mit den Dienstleistungen ?
Wie aber dann wieder auslesen, wenn die Ortschaft in dem Feld neben den vielen anderen auftaucht ?
mit Index_OF ? oder wie mach ich das am besten...

schon mal besten dank und gruss
jurg


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

Pozor
Beiträge gesamt: 892

22. Dez 2004, 16:22
Beitrag # 8 von 12
Beitrag ID: #132090
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mal kurz ein Versuch:

tb_link //tabellenname
l_id
l_name
l_link

tb_ort //tabellenname
o_id
o_name

tb_dienstleistung //tabellenname
d_id
d_name
d_type

cl_lo //connectionlist many to many
o_id
l_id

cl_ld //connectionlist many to many
l_id
d_id

SQL:
SELECT l_name,l_link
FROM
tb_link AS L,
tb_ort AS O,
tb_dienstleistung AS D,
cl_lo AS lo,
cl_ld AS ld
WHERE
L.l_id = lo.l_id AND lo.o_id = O.o_id
AND O.o_name = '#Ortschaft#'
AND
L.l_id = ld.l_id AND ld.d_id = D.d_id
AND D.d_name = '#Dienstleistung#' AND D.d_type = '#Diensteliestungstyp#'

Mit der obigen Abrfage, #***# zu ersezten mit den gesendeten Daten,
kann ein oder mehrere Links als Antwort resultieren.

Ich habe es kurz noch als PDF unter folgendem Link gespeichert:
http://www.boelsterli.biz/...ort_link_service.pdf

hier ist es auch noch visuell dargestellt.

Es ist ev noch nicht ganz das was du suchst, doch sollte dir diese
Ansatz helfen deine Lösung zu implemenitieren denke ich.

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

22. Dez 2004, 18:09
Beitrag # 9 von 12
Beitrag ID: #132102
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank !

Das sieht gut und sauber aus. mal sehen, wie ich damit zurechtkomme. . .

gruss
jurg


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

3. Jan 2005, 18:27
Beitrag # 10 von 12
Beitrag ID: #133660
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo allerseits !

Die DB funktioniert soweit. Besten Dank für Eure inputs !

Jetzt liegt das problem beim updaten der daten. . .

es geht darum die "Intermediaire Tabelle" zu updaten, also csp_avoir_prestation, welche nur ID's hat und a=yes oder no, h=yes oder no -> siehe modell
http://www.rezonord.net/baustelle/db_update.pdf
und
http://www.rezonord.net/baustelle/
--> ein Partenaire auswählen
--> weiter zum update-formular
--> quellcode soweit ok ?

das formular scheint OK, aber wie updaten ? Es müssen ja je nach dem neue zeilen (where "id_partenaire=$id_n) in die DB geschrieben werden, oder gelöscht, oder einfach geändert, z.b. neu "hospitalisation" anstelle "ambulant". . .

weiss jemand, wo ich da script herkriege ? (unter hotscript.com suche ich mich zu tode. . . finde auch sonst nichts. . .)

oder wie müsste der code aussehen ?

für tipps und tricks danke ich schon mal im voraus !
jurg


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

7. Jan 2005, 01:22
Beitrag # 11 von 12
Beitrag ID: #134549
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo hds !

altes projekt - NEUES PROBLEM ;-(

die DB partenaire/prestation habe ich nun so gelöst, dass jede zeile ein formular ist.
(wenn du mal nen blick drauf werfen willst : http://www.rezonord.net/csp_maj_new/index.php -> partenaire auswählen und auf "rechercher" klicken. - die buttons habe ich deaktiviert, da sonst so ein scherzkecks mir daten löschen oder eintragen könnte ;-)

dasselbe habe ich mit den "communes" gemacht, die DB mit den Ortschaften, für welche die "Partenaire" zuständig sind. Also eine DB welche nur die ID_partenaires und ID_communes beinhaltet um die verbindung herzustellen. Aber das ist schrott. Jedesmal eine Ortschaft (commune) anklicken und INSERT oder DELETE, dann ist man wieder am anfang der seite und muss scrollen, scrollen, scollen. . . um wieder auf die Ortschaft "z" zu kommen. . . merde. . .

man muss einfach alles ankreuzen können, oder eben deaktivieren und nur einmal absenden. das template steht, siehe http://www.rezonord.net/...ew...tenaire_commune
--> rechercher klicken. (die function für den Button "mise à jour" habe ich wieder deaktiviert, da man mir sonst daten löschen könnte (-;

Möchte eine lösung haben, wo man einfach alles ankreuzt oder deaktiviert und updatet.
um das zu machen, ist die erste Request Delete * from DB where id_partenaire='$id_partenaire_n'

ABER dann wird kompliziert für mich . . .wie die angekreuzten Ortschaften zurückholen und die mittels INSERT INTO DB (. . . ) Values ('$....') WHERE ID_partenaire='ID_partenaire_n - es sind ja x zeilen zu schreiben. . .

z.Z sieht meine "function" so aus : àhm, wie macht man das denn, das der code schön farbig codiert ist ??? sorry...
_____________________________________________________________

$id_partenaire_n = $_REQUEST["id_partenaire"];
$id_commune_n = $_REQUEST["id_commune"];
$sql = "DELETE FROM csp_partenariats WHERE id_partenaire='id_partenaire_n"
$query_delete = sql($sql);
if (!$query_delete) {
echo mysql_error();
exit;
}
//requet
$sql = "INSERT INTO csp_partenariats (id_partenaire, id_commune) values ('$id_partenaire_n', '$id_commune_n')";
$query = sql($sql);
if(!$query) {
echo mysql_error();
exit;
}
else {
header ("location:index.php?action=pulldown_result_commune&pulldown_partenaire=$id_partenaire_n&feedback=OK");
exit;
}
}
______________________________________________________________

bin für alle input dankbar und lerne gern dazu !

thx und gruss
jurg
________________________________
net & print production
http://www.randj.net / http://www.alpha-randj.net


als Antwort auf: [#131908]

datenbank erstellen / abfragen - multiple choice. . .

jrandi
Beiträge gesamt: 794

7. Jan 2005, 18:03
Beitrag # 12 von 12
Beitrag ID: #134775
Bewertung:
(5138 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hat sich nun erledigt. klappt bestens.

(zuerst mit foreach checkboxen erruieren, DELETE where ID_partenaire, nachher mit substr INSERT INTO)

nochmals besten dank für Eure Inputs.

gruss
jurg


als Antwort auf: [#131908]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!