Zurück   PSD-Tutorials.de > Webbereich > PHP und andere Scriptsprachen


Antwort
 
Themen-Optionen
Alt 04.06.2012, 13:53   #1 Nach oben scrollen
Ach Jungs!?!
HelperHelper
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite

sql-abfrage abändern

hi leute,

ich weiss einfach nicht weiter... ich habe eine seite die daten aus einer datenbank ausliesst -> daraus entsteht jeweils eine URL pro zeile in der datenbank.

nun möchte ich das wenn man auf einen solchen url klickt, sich sozusagen die "Detail ansicht" des urls öffnet, diese Detaildaten sind in den selben zeilen in der datenbank gespeichert wie die url angibt (logischerweise).

nur auf der einen seite soll es alle daten aus einer zeile ausgeben (detail-ansicht)
und auf der anderen seite alle zeilen aber nur gewisse spalten.

könnt ihr mir weiterhelfen? auf bitten versuche ich es euch auch nochmals anders zu erklären, aber es ist nicht ganz so einfach....

vielen dank!!
  Mit Zitat antworten


Alt 04.06.2012, 14:10   #2 Nach oben scrollen
Newbie
Newbie
 

Registriert seit: 29.03.2005
Beiträge: 5
AW: sql-abfrage abändern
also ein wenig kompliziert ist es schon.
aber wenn du doch alle daten hast dann musst du diese doch nur aus der url extrahieren oder nochmal eine abfrage auf diesen einen record machen.
oder sehe ich das falsch?
vielleicht kannst du mal ein muster-datensatz hier einstellen und dann kann man dir bestimmt besser helfen.

gruß
  Mit Zitat antworten
Alt 04.06.2012, 14:23   #3 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
einen datensatz kann ich leider nicht bieten, da ich ihn noch nicht ansatzweise fertig habe...
das einzige was ich noch bieten kann ist:
Code:
$result = mysql_query("SELECT details,titel,bild,dokm FROM muster ORDER BY datum");
so lese ich es aus bei der detail-ansicht

und so in der url-ansicht

Code:
$result = mysql_query("SELECT titel,minibild FROM muster ORDER BY datum");
spalten habe ich folgende

details, titel, bild, minibild, dokm in der tabelle : muster

und da ich keine lust habe, alle details-seiten einzeln zu erstellen (als html oder so) wollte ich das mit einer datenbank lösen.
nur eben: es soll eine übersicht über alle detailseiten geben (mit miniaturbild > minibild) die sich selbst auch aus der datenbank ausliesst, damit ich diese nicht jedesmal nachführen muss....
und dann die detailseiten. > klick auf eine url in der übersicht, öffnet es die detailseite dazu... .... welche sich auch aus der datenbank ausliesst..

das ganze sollte dann ähnlich wie diese seite sein:

http://hydremag.ch/prev2/prod.php

nur hier ist eben jede seite einzeln erstellt, auf was ich nicht wirklich bock habe, da ich etwa 4 mal so viele daten habe.

vielleicht sollte ich noch erwähnen: ich bin nicht so gut in MySQL-Datenbanken. Ich verstehe nur das prinzip und wie man sie ausliesst (und dort neue tabellen und spalten / zeilen erstellt)
  Mit Zitat antworten
Alt 04.06.2012, 15:40   #4 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: sql-abfrage abändern
Die Datenbank ist ja nur der persistente Speicher. Das Erzeugen des HTML-Dokumentes mit der Übersicht musst du mit einer serverseitigen Sprache wie PHP erledigen. Falls du keine Ahnung von PHP o.ä. hast (so lese ich es aus deinen Posts), gibt es wie immer zwei Möglichkeiten:
  1. es selber lernen: http://www.schattenbaum.net/php/anfang.php, http://tut.php-quake.net/de/, http://www.php-einfach.de/php-tutorial/php-tutorial.php
  2. jemanden anheuern, der es schon kann

Falls du dann konkrete Fragen zur Umsetzung hast, wirst du hier im Forum sehr wahrscheinlich Hilfe finden.


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 04.06.2012, 15:50   #5 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
hi duddle,

ich bin schon sehr viel weiter mit php als in meinen letzten posts... das ganze benötigt zeit und ich bin keine die alles in 7 tagen lernen kann...

aber so langsam fang ich an zu verstehen, und die einzelnen skripts werden mir logisch. nur die fachbegriffe dafür lerne ich nicht wirklich....für mich zählt in erster linie die funktion und das ich es verstehe...

das war eine kronkrete frage zur umsetzung...das ich das ganze mit php erledigen muss ist mir klar. ich weiss nur nicht wie .... deshalb gibt es doch dieses forum, um hilfe dabei zu erhalten, oder? ...
ich bin nur mit mysql noch nicht ganz so weit, aber das geht auch nicht mehr so lange...hoff ich
  Mit Zitat antworten
Alt 04.06.2012, 16:14   #6 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: sql-abfrage abändern
Was genau ist denn die Hürde?

Ganz simpel ausgedrückt willst du folgendes: klickt der Nutzer auf ein Produkt, öffnet sich eine Detailseite für dieses Produkt. Zur Umsetzung brauchst du also mindestens Fälle, die Übersichts- und die Detailseite.

Für die Übersichtsseite holst du alle Produkte aus der Datenbank und erzeugst für jedes Produkt das notwendige HTML. Für die Detailseite holst du dir die Daten für das ausgewählte Produkt, identifiziert durch einen URL-Parameter o.ä., und gibst sie aus.

Welchen Schritt davon kannst du nicht umsetzen?


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 04.06.2012, 16:30   #7 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
die detailseite.. die identifizierung & erzeugung davon...
  Mit Zitat antworten
Alt 04.06.2012, 16:47   #8 Nach oben scrollen
*moep*
Newbie
 
Benutzerbild von eytibi
 

Registriert seit: 25.08.2009
Ort: NRW
Beiträge: 50
Kamera: Canon EOS 450 D
Verwendet: Photoshop CS
AW: sql-abfrage abändern
Hallo,

um bei deinem Beispiel zu bleiben:
Hier wird die Detailseite mit http://hydremag.ch/prev2/prod.php?go=hcm aufgerufen. Das PHP-Script der Detailseite ließt den Parameter "go" aus und weiß, dass es die Detaildaten zum Produkt "hcm" anzeigen muss.

Es gibt nur eine Detailseite (quasi eine leere Schablone), die mit den Daten aus der Datenbank gefüllt wird.
  Mit Zitat antworten
Alt 04.06.2012, 16:53   #9 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: sql-abfrage abändern
Um das gewünschte Produkt auf der Detailseite zu kennen, musst du natürlich die Auswahl des Nutzers irgendwie an sie übergeben. Das kannst du mit einem Formular oder mit URL-Parametern machen. Siehe http://www.schattenbaum.net/php/variable2.php

Welche Information du dabei übergibst obliegt deiner Entscheidung. Offensichtlich sollte es etwas sein, dass das Produkt eindeutig identifiziert. In der Regel wird das per ID gemacht. Deine Datenbanktabelle hat sowas sicher pro Produkt, ansonsten musst du den Primärschlüssel herausfinden.

Sobald du dann diese Information auf der Detailseite hast, fragst du die Datenbank nach exakt diesem Produkt und gibst dessen Daten aus. Siehe http://www.schattenbaum.net/php/abfrage2.php


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 04.06.2012, 16:55   #10 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
ja das weiss ich, aber wie kann ich das realisieren ohne das ich ihm die vorgabe machen muss?

denn wenn ich nun ein neues produkt anlegen würde, in diesem beispiel.. dann wäre in dieser schablonen-datei keine case = neuesgerät vorhanden.....
das ist mein problem bei der detail-seite....
  Mit Zitat antworten
Alt 04.06.2012, 16:59   #11 Nach oben scrollen
Newbie
Newbie
 

Registriert seit: 01.06.2007
Beiträge: 14
AW: sql-abfrage abändern
Nicht zu vergessen das in der Datenabfrage zur Detailseite ein WHERE title='".$produktitel."' fehlt. Woher soll sonst die Datenbank wissen welcher Artikel den gemeint ist. Dabei ist zu beachten das die Spalte "title" als Unique deklariert ist um doppelte Namensgebungen zu vermeiden oder man arbeitet gleich mit ID's

Geändert von blastermaster (04.06.2012 um 17:01 Uhr). Grund: da waren ein paar schneller
  Mit Zitat antworten
Alt 04.06.2012, 20:22   #12 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: sql-abfrage abändern
Zitat:
Zitat von elyion_g2 Beitrag anzeigen
denn wenn ich nun ein neues produkt anlegen würde, in diesem beispiel.. dann wäre in dieser schablonen-datei keine case = neuesgerät vorhanden.....
das ist mein problem bei der detail-seite....
Du scheinst das Konzept von Variablen nicht zu kennen / verstehen.

Stell dir vor, du hast ein Telefon und eine Aufgabe: reicht dir jemand einen Zettel mit einer Nummer, dann rufe diese Nummer an und sag "Hallo, Welt". Deine Aufgabe ist nicht "rufe 552 an wenn 552 auf dem Zettel steht, rufe 553 and wenn 553 auf dem Zettel steht, etc.", sondern "rufe die Nummer an, die auf dem Zettel steht."
Egal welche Nummer nun reingereicht wird funktioniert dieser Ablauf. Wenn die Nummer nicht belegt ist oder anderweitig inkorrekt ist, passiert eben nichts.

Der Code deiner Detailseite sagt also nicht "wenn das Produkt 7 gewünscht wird, gib die Daten von Produkt 7 aus", sondern "wenn ein Produkt mit einer Produktnummer gewünscht wird, dann frag die Datenbank nach exakt dieser Produktnummer." Dann funktioniert dieser Ablauf für jede Nummer, die reingereicht wird.


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 05.06.2012, 07:10   #13 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
danke für die gute erklärung duddle! was ich aber eher meinte war folgendes:

in dieser schablonen-datei habe ich dann folgendes skript:

Code:
<?php 

    if (isset($_GET['go'])) 
    { 
        switch($_GET['go']) 
        { 

            case 'detail1':    include('detailseite-1.php'); 
                            break; 

            case 'detail2':  include('detailseite-2.php'); 
                            break;         
                            

            default:        include('uebersicht.php'); 
        } 
    } 
    else 
    { 
        include('uebersicht.php'); 
    } 

?>
Und mein problem ist, dass ich nicht weiss wie ich mache, das ich nicht für jede detailseite eine datei benötige, sondern direkt in dieser schablonen-datei öffnen kann.. sozusagen direkt aus der datebank auslesen.

dieses ?go=beispiel ... bestimmt man ja die links im obrigen skript, wohin es gehen soll, wenn es dieses "go=beispiel" hat

wenn ich es so mache:

Code:
$result = mysql_query("SELECT details,titel,bild FROM muster1 WHERE id='$_GET[id]'");
funktioniert es auch nicht... (die "lösung" die ich bei google gefunden habe)
auch wenn ich den link "seite1.php?id=ID-DES-EINTRAGES lade.


PS: ich teste gerade mit meinem beispiel das ich euch mal gepostet habe, da es dort bereits datenbanken & dieses variablen-ansprech-skript gibt nur eben nicht in kombination

Geändert von elyion_g2 (05.06.2012 um 07:15 Uhr).
  Mit Zitat antworten
Alt 05.06.2012, 08:43   #14 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: sql-abfrage abändern
Entweder reden wir aneinander vorbei, oder einer von uns beiden ist etwas verwirrt.

Ich versuche mal ein Beispiel in Code auszudrücken:

foo.php:
PHP-Code:
<?php
for($i 0$i 10); $i++) {
    echo 
"<a href='bar.php?nummer=$i'>";
    echo 
"Ich bin Link $i";
    echo 
"</a>";
    echo 
"<br>";
}
?>
bar.php:
PHP-Code:
<?php
$geklickteNummer 
$_GET['nummer'];
echo 
"Nutzer hat $geklickteNummer angeklickt.";

//hier MySQL-Verbindung herstellen

$sql "SELECT * FROM tabelle WHERE identifikationsnummer = $geklickteNummer";
$result mysql_query($sql);

while(
$zeile mysql_fetch_row($result)) {
    
$id $zeile['identifikationsnummer'];
    echo 
"Ich bin das Ergebnis mit Identifikationsnummer $id";
    echo 
"<br>";
}
?>
Nichts davon sollte dir spanisch vorkommen, falls du die oben verlinkten Tutorials gelesen hast. Falls du irgendwo die Logik nicht verstehst, frag nach - sehr viel simpler konnte ich das Beispiel aber nicht machen.


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 05.06.2012, 09:22   #15 Nach oben scrollen
Ach Jungs!?!
HelperHelper
Themenstarter
 
Benutzerbild von elyion_g2
 

Registriert seit: 11.10.2009
Ort: Schweiz
Beiträge: 207
Kamera: Canon EOS 550D & Canon EOS 1100D
Verwendet: Adobe CS6, Production Premium Suite
AW: sql-abfrage abändern
ich glaube ein wenig von beidem...

hier habe ich dir mal eine kleine grafik gemacht...
ich möchte nämlich das sich beide seiten aus der datenbank auslesen.
übersicht + detail - seite...

die übersicht-seite generiert die urls aus den IDS / Titel der einträge in der db
und mit einem klick darauf öffnet es die detail-seite
die aus der selben zeile wie der übersichts-link erzeugt wird.

dein skript ist so das die übersichts-seite fix ist, sprich, nicht von der datenbank genommen wird.

es ist möglich das jetzt meine überlegungen nicht stimmen, aber wenn ich das so machen würde, müsste ich jeden link zu jedem produkt eigenhändig einfügen.

ich kann meine daten nicht nummerieren, da ich 6 kategorien haben werde, für die ich einzelne tabellen erstellen werde, weil keine mit der anderen was zu tun hat.


ich danke dir / euch, für eure hilfe & geduld mit mir ...
  Mit Zitat antworten
Antwort


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