Beitrag von pinces (20 Beiträge) am Samstag, 17.Februar.2001, 14:03. WWW: pinces.de.vu
nach get "xyz1"; get "xyz2"; get "xyz3" über hash auf die ausgaben zugreifen ?
ich habe gesucht und keine antwort gefunden! leider
die sache ist die: mein code sieht langsam so wild aus das ich fast schon selbst nicht mehr durchblicke
jetzt will ich alles aufräumen:
- abfragen nach oben ja nach parametern
- ausgaben dann nur noch in ein paar klauseln darunter
dazu würde ich gerne alle abfragen mit get die ich brauche anfangs im file machen (u.a. um z.b. meta keywords aus der datenbank zu haben)
da es sich aber wie gesagt um mehrere verschiedene abfragen handelt muß ich alle auch nochmal später haben
wie kann ich jetzt nach get "Id==$id","sonstwas","hash1"
auf die daten im hash1 zugreifen und zwar immer auf die selben: zum teil ist es eh nur ein db eintrag im hash und wenn es doch mehrere sind brauche ich die auch immerwieder von anfangan - also nix mit get_next("hash1")
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 17.Februar.2001, 16:54.
Re: nach get "xyz1"; get "xyz2"; get "xyz3" über hash auf die ausgaben zugreifen ?
Das würde mich auch brennend interessieren, hab schon die halbe Nacht damit verbraucht auf eine Lösung zu kommen.
Sander
Antworten
Beitrag von pinces (20 Beiträge) am Samstag, 17.Februar.2001, 17:06. WWW: pinces.de.vu
Re: nach get "xyz1"; get "xyz2"; get "xyz3" über hash auf die ausgaben zugreifen ?
ich arbeite auch weiter daran und es geht einfach nicht
ich habe mir mal das verhalten von get_next genauer an geguckt: es gibt immer alles im kreis aus wiederholt also alles .. nur wen es am letzen ist hat get_next selbst "" nix sonst 1
wenn man range richtig parametriet komme ich damit hin zur not kann man nach einer abfrage von nicht allem mit while(...) wieder ansende und somit an den anfang rattern. ist aber resourcen verschwendung ...
fazit: ich will den hash auch wenn ich nocht nicht genau weiß (lerne perl jetzt erst ne woche oder so) was da genau auf mich zu kommt
auf meiner page habe ich eine coole verdeutlichung eines studenten zu den ganzen datentypen und deren verhalten bei zuweiungen etc.
für R keine haftung
Antworten
Beitrag von Stephan Hix (106 Beiträge) am Samstag, 17.Februar.2001, 17:54.
Könntet Ihr das mal genauer erklären?
Hallo Pinces, Hallo Sander!
Ich habe auch in den letzten Tagen ein wenig mit hashes gearbeitet und würde ja gerne helfen. Aber mir ist nicht klar, welche Daten Ihr warum und wie speichern wollt.
Aus dem get-Befehl ersehe ich, dass der hash wohl den Namen der Datenbank ausgeben soll - aber mit welchem Schlüssel? Und wofür braucht Ihr das?
Könnt Ihr genaueres erklären, oder den Code posten bzw. mailen?
Gruß
Stephan
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 17.Februar.2001, 18:58.
Re: Könntet Ihr das mal genauer erklären?
Beispiel:
get "Id=1", "db", "ergebnis";
get "Id=4", "db", "ergebnis2";
out $titel # von ergebnis
out $titel # von ergebnis2
und hier weiß ich nicht wie ich auf ttel aus den einzelnen Ergebnissen draufgreife. Hier ginge es auch anders - out vor der 2ten Abfrage - aber prinzipell muß man doch das auch später ausgeben können zB. wenn weiter get_next folgt (in der Schleife werden dann doch die Werte überschrieben). Verstehst du mich und das problem? :-)
Sander
Antworten
Beitrag von Stephan Hix (106 Beiträge) am Samstag, 17.Februar.2001, 19:27.
Naja ...
Antworten
Beitrag von Sander (8133 Beiträge) am Samstag, 17.Februar.2001, 22:30.
Re: Naja ...
ne, es soll irgendwann auf alle Variablen zugegriffen werden. Ich krieg das jetzt nicht mehr zusammen, was ich machen wollte, bloß daran scheiterte es. Irgenwie muß man ja dann auf das Ergebnis zugreifen können, sonst wäre es ja Quatsch überhaupt Ergebnis anzugeben.
Ich hab auch schon nach der Abfrage mit $_sel probiert daran zukommen - nischt :-).
Sander
Antworten
Beitrag von Stephan Hix (106 Beiträge) am Samstag, 17.Februar.2001, 20:21.
mögliche Lösung mit get_next
Der get-Befehl erzeugt wohl nicht wirklich einen Hash, zumindest kann ich nicht so darauf zugreifen. Aber da die Daten im Speicher sind, geht es trotzdem viel schneller, wenn man mit get_next eine Schleife baut, als wenn man nochmal abfragen würde.
get "Id=1","db",ergebnis;
get "ID=4","db",ergebnis2;
while(get_next("ergebnis")){
if ($Id=4){
out $titel;
}
while(get_next("ergebnis2")){
if ($Id=1){
out $titel;
}
Das macht aber nur Sinn, wenn es sich um zwei unterschiedliche Datenbanken handelt. Anderenfalls liest man wohl besser die ganze Datenbank ein und greift dann bei Bedarf mit get_next darauf zu.
Ich hoffe, ich konnte euch helfen.
Gruß
Stephan
Antworten
Beitrag von pinces (20 Beiträge) am Sonntag, 18.Februar.2001, 22:34. WWW: pinces.de.vu
wozu ich das brauche ...
falls es noch von interesse ist:
ich benutzt eine virtuelle url die ja frames benutzt
und will nicht dass die besucher 1. diese wilden urls sehen und 2. dass sie trotzdem einen exakten bookmark saven können
so: dadurch ist meine gesammt page eine einzige datei bei baseportal .. sie ist zwar nicht wirklich eine aber man kann das so sehen weil die hauptdatei nur aus ein paar if und ner menge include besteht
fazit: die sacht ist kaum noch zu durchblicken
der inhalt der page wird fast zu 100% über "einige" zusammen gesetzte parameter übergeben diese werden zwerflückt und die datanbanken werden gelesen
wenn ich das alles zusammen vor der eigentlichen ausgabe machten könnte wäre die sache einiges übersichtlicher.
ich baue mir jetzt meine eigenen -hashes kann an nicht sagen- aber datenspeicher eben
was solls .. wo bekommt man schon so ein nettes webinferfact zu perl programmierung .. damit lässt sich schon manch eine langweilige informatik stundein der schule überstehen
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 20.Februar.2001, 14:58.
Re: wozu ich das brauche ... - lösung
sorry für die durchmachten nächte, z.zt. geht das schlicht und einfach garnicht - %ergebnis ist leer (ganz umsonst ist die Angabe von "ergebnis" aber nicht, denn man kann darin ja verschiedene abfragen derselben Datenbank speichern und mit get_next(...) durchlaufen). ich bastele aber gerade an einer neuen version mit vielen, vielen neuerungen und da habt ihr dann tatsächlich einen hash zur verfügung... die syntax sieht dann so aus:
gibt z.B. das Feld "Name" der ersten Ergebniszeile von "ergebnis" aus...
Antworten