• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Primary Key ausgeben

Status
Für weitere Antworten geschlossen.

Puccini

Neues Mitglied
Hi!

Für meine Seite ist es wichtig das ich sicherstelle das der Primärschlüssel mit ausgegeben wird.

also so in etwa:

select PrimaryKey,* from tabelle

da der user unterschiedliche sachen ausgeben lassen kann, muss als erstes immer der Primarykey ausgegeben werden...
Wie bekomm ich das hin?? :<

gibts da einen befehl für XD
 
select PrimaryKey,* from tabelle
Ähm ja :D, soähnlich.

Mit * wählst du alle Spalten aus, also brauchst du PrimaryKey nicht exta auswählen. Der SQL befehl sähe z.B: dann so aus
PHP:
$sql = Select * from table;
$query = mysql_query($sql);

Mit der variable $query kannst du dann deine ausgaben machen, mal schaun ob ich es noch kann :D (schon ewig nicht mehr gemacht)
PHP:
while($erg = mysql_fetch_assoc($query)) {
$key = $erg['PrimaryKey'];  // Jetzt ist der PrimrayKey der variable key zu geordnet.
echo $key; //key ausgaben
//Weitere ausgaben
} //Whileschleife schließen

Hoffe konnte helfen, am besten schaust du dir da alles mal an, was mit mysql zu tun hat ;) #php/QuakeNet Tutorial - MySQL / Aufbau
 
Also, das weis ich ja soweit ;)

mir gehts jettz aber darum das unterschiedliche Felder vom user zur anzeige ausgewählt werden können, und das der Primärschlüssel da nicht unbedingt dabei sein wird....

ich will aber das dieser 100% bei jeder abfrage mit dabei ist, von mir aus auch doppelt, das ist dann egal.

also nehmen wir an mein primärschlüssel ist spalte1, und der user lässt sich dann 4 spalten seiner wahl anzeigen...:

select spalte1,spalte1,spalte2,spalte3,spalte4 from tabelle

somit weis ich, das immer der primärschlüssel als erste splate dasteht, das ist zur späteren verarbeitung imphp notwendig...
was dann für spalten kommen ist egal.
da ich aber dem user erlaube unterschiedliche tabellen zu nutzen, ist der primärschlüssel ja immer ein anderer-.-

also müsste ich jfür jede tabelle eine gesonderte abfrage schreiben?? :<
wo ich quasi schon schreibe:
select primarykey, .....
?
 
äh ja ^^

ICh erkläre dir jetzt mal wie ich das gemacht hätte. Es gibt sicherlich eine einfachere Methode, aber ich greife aus einem bereits von mir erstellten Modul heraus, dass diese Funktion (die folgen wird) schon beinhaltet.

Daher wunder dich bitte nicht über die Vorgehensweise.

Zuerst einmal sei vorweg gesagt, dass ich annehme, dass du weißt, welche Spalte die Primary_Key Spalte ist?!

Dann ist der nächste Punkt ob der Benutzer den Query selber schreibt, oder aus einem (Beispiel) Formular auswählt welche Spalten gezeigt werden sollen.
Ich gehe jetzt mal von ersterem aus, denn ansonsten wäre es nicht schwer die Primary key mit einzubinden (Einfach SELECT `prim_key`, [FORMULARFELDER])

In dem ersteren Fall müssen wir nun etwas parsing arbeit leisten. Wie schreiben einfach die Query vom Benutzer an der richtigen stelle um:
PHP:
<?php
//folgender String sei vom Benutzer eingegeben
$query = "SELECT `spalte1`,`spalte2` FROM `tabelle`";

//jetzt einfach nach SELECT noch spalte `prim_key` einfügen
$query = preg_replace("~(.+) `(.*)~i","\\1 `prim_key`, `\\2", $query);
?>
Falls doch letztere oben erwähnte Variante mit dem Formular, lass es mich wissen, dort gibt es einen sehr schönen Weg für.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben