mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 05:49 Benutzername: Passwort: Auto-Login

Thema: Dynamische MySql daten abfrage vom 03.11.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Dynamische MySql daten abfrage
Seite: 1, 2  Weiter
Autor Nachricht
JaDeKi
Threadersteller

Dabei seit: 08.09.2010
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Mi 03.11.2010 12:46
Titel

Dynamische MySql daten abfrage

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

ich habe ein kleines Problem. Vor ab es geht nicht darum wie ich eine Verbindung zu MySql via PHP herstelle oder präzise abfragen von Daten mache.

Wobei letzteres mit ins Thema gehört.

Ich habe ein Daten Array das ich aus der Datenbank heraus lesen lasse per while schleife. Das ist alles schön und gut.

Es kann jetzt daran liegen, dass ich mich gedanklich irgendwie verirrt habe * Ööhm... ja? *

Beispiel der Ausgabe:

[NAME ] [KATEGORIE]
[Sven] [Groß]
[Dirkt] [klein]
[bernd] [Mittel]

Ich wollte es so machen das wenn man als Beispiel, auf "klein" Klickt per <a herf=""> oder was man da noch benutzen kann. Die Seite neu lädt und nur alle Datensätze "klein" heraus gegeben werden.

Ich weiß, dass dies mit einer neuen php Seite Funktioniert wo die Datenabfrage dementsprechend ist.

Beispiel

Anfrage 1.php

SELECT Name,Kategorie WHERE kategorie ="$Variabel"

Anfrage 2.php

SELECT Name,Kategorie WHERE Name ="$Variabel2"


Doch wird das ganze sehr umfangreich wenn es nicht nur um 2 Spaltenhandelt. Gibt es dafür nicht auch irgendeine andere Möglichkeit. Mit einer Funktion oder irgendetwas in der art was das ganze vielleicht in eine Datei zusammen fassen kann.

Klingt wahrscheinlich jetzt etwas konfus, Glaskugel vielleicht hat jemand ein Beispiel oder einen Rat.

Danke im Vorraus

*Sorry für die Rechtschreibfehler*
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 12:52
Titel

Re: Dynamische MySql daten abfrage

Antworten mit Zitat Zum Seitenanfang

JaDeKi hat geschrieben:

Anfrage 1.php

SELECT Name,Kategorie WHERE kategorie ="$Variabel"

Anfrage 2.php

SELECT Name,Kategorie WHERE Name ="$Variabel2"

Was hindert dich daran, etwas wie
Code:
if(isset($_GET['kategorie']))....
abzufragen, und somit den SQL-String dynamisch zu generieren:
Code:
$sql_string.= 'WHERE kategorie ="'.mysql_real_escape_string($Variabel).'"'; ....
?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
escaPe

Dabei seit: 10.09.2007
Ort: <? include("home.htm") ?>
Alter: 112
Geschlecht: Männlich
Verfasst Mi 03.11.2010 13:35
Titel

Antworten mit Zitat Zum Seitenanfang

meine variante:

<a href='anfrage.php?wert=$inhalt_vom_feld_kategorie&wert2=$sonst_ein_inhalt'>

SELECT * FROM tabelle WHERE '$wert' LIKE '$wert2'

du verweist per Link auf die aktuelle Seite jedoch wird nach dem Klick nach einem anderen Wert sortiert.

musst natürlich auch beim ersten Besuch einen standart Wert vor der eigentlichen Abfrage reinschreiben.

if ($wert=="") {$wert = whatever}

Diese variante niemals in verknüpfung mit login password oder änlichen sensiblen Daten nutzen.
Durch eine einfachen URL ersatz könnte man sonst alle Daten ausspähen.


Zuletzt bearbeitet von escaPe am Mi 03.11.2010 13:37, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 13:52
Titel

Antworten mit Zitat Zum Seitenanfang

escaPe hat geschrieben:
...
Diese variante niemals in verknüpfung mit login password oder änlichen sensiblen Daten nutzen.
Durch eine einfachen URL ersatz könnte man sonst alle Daten ausspähen.

.. oder eher generell nie.
Du öffnest damit Tür und Tor für alle neugierigen Leute.
Ersetz ich zB beide deiner get-variablen durch ne 1, hab ich _alle_ Werte der Tabelle.

Solche Möglichkeiten sollte man dem User generell niemals bieten.
Sowas wie include $_GET['bla'].".php" bekommt man auch ab und zu zu sehen - das geht gar nich ^^
Schreib da lieber 20 Zeilen Code mehr und weiß genau, dass der User nur da ist, wo er sein soll.

btw - warum benutzt du "like"? Das ist ur langsam und an der Stelle ja völlig unnötig.
Hier mal bisschen was zu lesen.
  View user's profile Private Nachricht senden
escaPe

Dabei seit: 10.09.2007
Ort: <? include("home.htm") ?>
Alter: 112
Geschlecht: Männlich
Verfasst Mi 03.11.2010 14:18
Titel

Antworten mit Zitat Zum Seitenanfang

fyll hat geschrieben:
escaPe hat geschrieben:
...
Diese variante niemals in verknüpfung mit login password oder änlichen sensiblen Daten nutzen.
Durch eine einfachen URL ersatz könnte man sonst alle Daten ausspähen.

.. oder eher generell nie.
Du öffnest damit Tür und Tor für alle neugierigen Leute.
Ersetz ich zB beide deiner get-variablen durch ne 1, hab ich _alle_ Werte der Tabelle.

Solche Möglichkeiten sollte man dem User generell niemals bieten.
Sowas wie include $_GET['bla'].".php" bekommt man auch ab und zu zu sehen - das geht gar nich ^^
Schreib da lieber 20 Zeilen Code mehr und weiß genau, dass der User nur da ist, wo er sein soll.

btw - warum benutzt du "like"? Das ist ur langsam und an der Stelle ja völlig unnötig.
Hier mal bisschen was zu lesen.


Ich hab einfach den Wert = Wert auf ein maximum von 8 Zeichen begrenzt wenn größer = Abfrage erst garnicht starten.
Ist aber wie du schon erwähnt hast nur eine mangelhafte Lösung.

Werde mich mal mit dem Thema befassen. Danke *zwinker*
  View user's profile Private Nachricht senden
JaDeKi
Threadersteller

Dabei seit: 08.09.2010
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Mi 03.11.2010 16:46
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für die Antworten die erste Variante ist genau was mir gedanklich fehlte, doch stellt sich mir eine neue Frage Isset stellt doch nur unwahr oder wahr fest.

und mit einem <a href=""> kann man ja nicht übermitteln was man gerade angeklickt hat Sprich das bedeutet das man mehrere diese Formulare erstellen müsste.
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 03.11.2010 16:54
Titel

Antworten mit Zitat Zum Seitenanfang

mh?
der Link sieht dann doch so aus:
Code:
<a href="./?kategorie=123&amp;klein=1

dann reichts doch zu fragen, ob die Variable "klein" deklariert ist, oder nicht.

Alternativ kannst auch
Code:
<a href="./?kategorie=123&amp;gr=klein
<a href="./?kategorie=123&amp;gr=gross

machen und dann so abfragen:
Code:
if(isset($_GET['gr']))
{
   if($_GET['gr']) == "klein")
   {
      $sql.......
   elseif .....
  View user's profile Private Nachricht senden
JaDeKi
Threadersteller

Dabei seit: 08.09.2010
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Mi 03.11.2010 17:02
Titel

Antworten mit Zitat Zum Seitenanfang

Achso gut, werde das gleich mal umsetzen und dann Feedback geben.
  View user's profile Private Nachricht senden
 
Ähnliche Themen (php-mysql) übergabe von formulardaten und abfrage m. mysql
PHP - dynamische ArrayNamen in switch abfrage
MySql abfrage
[php+mysql] abfrage von x bis y
MySQL Abfrage
[php / mysql] Mysql Daten in php als Link ausgeben
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.