BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP [ERLEDIGT] Variablen-Name mit Variable zuweisen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen [ERLEDIGT] Variablen-Name mit Variable zuweisen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Achtung [ERLEDIGT] Variablen-Name mit Variable zuweisen       Zum Anfang der Seite springen

[AUFLÖSUNG GANZ UNTEN]

hi,

ich hab mal wieder ein kleines problemchen Zunge raus

ich möchte der Variable
php:
1:
$ok
den Wert einer Variablen zuweisen, deren Name, durch eine andere Variable definiert werden soll

also
php:
1:
2:
$pname "lol"//$pname wird aus einer MySQL-Tabelle ausgelesen
$ok $lol//$lol auch, aber aus einer anderen


projekte
---------------------------
| name | egal | egal |
---------------------------
| lol | egal | egal |
---------------------------
| lol2 | egal | egal |
---------------------------
| lol3 | egal | egal |

mitglieder
---------------------------
| id | lol | lol2 | lol3 |
---------------------------
| 1 | 0 | 1 | 1 |
---------------------------
| 2 | 0 | 1 | 0 |
---------------------------
| 3 | 1 | 1 | 0 |

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
$DatabasePointer mysql_connect("mysqlcluster","phost4402","*****") or die("Fehler beim kontaktieren der Datenbank. Bitte versuchs nochmal");
mysql_select_db(phost4402$DatabasePointer);

$ResultPointer mysql_query("SELECT * FROM projekte"$DatabasePointer);

      if(mysql_num_rows($ResultPointer)>0)
    {
        for($i=0$i<mysql_num_rows($ResultPointer); $i++)
        {
            $Result mysql_fetch_object($ResultPointer);
                $pname $Result->name;
            $ResultPointer2 mysql_query("SELECT $pname FROM mitglieder WHERE id = $id"$DatabasePointer);

            //hier mein problem

                if ($ok == "1") {echo " <a href=\"../projekte/anzeigen.php?projekt="$pname"\">"$pname"</a>,";}
                else {}
        }


ich hoffe ihr versteh mein problem und schonmal danke im vorraus,
jojo

PS: das ganze ist die Datei http://svkepler.pytalhost.de/SV/Homepage...eigen2.php?id=2 id gibt die id an Zunge raus
PPS: die Tabellen sind nur Beispiele

__________________
Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von jojo: 23.02.2006 14:10.

18.02.2006 15:27 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
ColdFire ColdFire ist männlich
BlackBoarder


Dabei seit: 08.06.2002
Beiträge: 986

      Zum Anfang der Seite springen

hmm... ich bin nicht ganz dabei was du machen willst

vill kannst du beschreiben was das resultat sein soll du willst den link nur anzeigen wenn ein gewisser falle ( OK ) 1 ist beschreibe mal was der sinn der sache ist !

lg CF
18.02.2006 15:40 ColdFire ist offline E-Mail an ColdFire senden Beiträge von ColdFire suchen
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Themenstarter Thema begonnen von jojo
      Zum Anfang der Seite springen

(gesammte hp http://svkepler.pytalhost.de/SV/Homepage/index.php )

ich habe 2 tabellen,
eine wo projekte drinn stehen (name, gruppensprecher ... )
und eine wo alle mitglieder drin stehen (name, klasse, hobbys ... )
ich habe für jedes projekt eine seite (z.B. http://svkepler.pytalhost.de/SV/Homepage...ch%FClerzeitung )
ich habe für jedes mitglied eine seite (z.B. http://svkepler.pytalhost.de/SV/Homepage...eigen2.php?id=2 )

bei den mitgliedern steht wo: "Projekte:" und da hinter soll aufgezählt werden, bei welchen projekten man alles mit arbeitet( also z.B. "Schülerzeitung, Schulhofverschönerung") und das sollen gleichzeitig links zu den projekten sein, bis heute hab ich das so gemacht, dass ich für jedes projekt eine if-abfrage gemacht habe, aber die Seite soll auch von leuten bedient werden können, die weder ahnung von html oder php


EDIT: hier nochmal die MySQL-Tabellen als .xls
http://svkepler.pytalhost.de/mitglieder.xls
http://svkepler.pytalhost.de/projekte.xls

__________________
Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von jojo: 18.02.2006 16:00.

18.02.2006 15:54 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Sorry, aber ich raff es wirklich nicht, was Du hier versuchst? Woher kommt denn auf einmal die $ok Variable in Deinem obigen Codeausschnitt her?
18.02.2006 16:13 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Themenstarter Thema begonnen von jojo
      Zum Anfang der Seite springen

die will ich ja erstellen, und zwar mit dem wert der einer variablen, deren name der wert von $pname ist

also $pname = "lol"
$ok soll dann den selben wert wie lol zugewiesen kriegen
$ok = $lol

aber $ok = $'$pname' tut es nicht, kann ja auch garnicht, und da ich seit halb 11 da dran sitze, hab ich euch gefragt Zunge raus

__________________
Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von jojo: 18.02.2006 16:27.

18.02.2006 16:22 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Was immer du da versuchst, du wirst es eleganter hinbekommen, wenn du die Tabellen entsprechend gestaltest (Stichwort Normalisierung).

Soweit ich dich verstehe gibt es Projekte und Mitglieder. Jedes Mitglied kann an beliebig vielen Projekten teilnehmen, jedes Projekt kann von beliebig vielen Mitgliedern bearbeitet werden. Du hast also eine klassische m:n-Beziehung zwischen Mitgliedern und Tabellen. Die löst du auf, indem du eine weitere Tabelle einrichtest, die die Zuordnungen vornimmt. Beispiel (Tabellennamen in Großbuchstaben, Primärschlüssel mit # davor, Fremdschlüssel mit *):

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
USER
#id            <---+
 name              |
 vorname           |
 ...               |
                   |
                   |
PROJECT            |
#id           <--+ |
 projektname     | |
 beschreibung    | |
 ...             | |
                 | |
USER2PROJECT     | |
#id              | |
*project_id    --+ |
*user_id       ----+


Dann kannst du mit einfachen SELECT-Abfragen alles zu einem Projekt oder zu einem Mitglied rausfinden. Und wenn du alle Mitglieder eines Projektes bekommen möchtest, machst du in der USER2PROJECT-Tabelle eine Abfrage auf die Projekt-ID und bekommst alle benötigten User-IDs. Mit ein paar geschickten JOINs kriegst du das auch alles in ein einziges SELECT rein.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

18.02.2006 16:59 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

hm, $bla = $$blubb; // oder so ähnlich ging das doch,
das bla auf blub zeigt. glaub ich. ka. versuchs.

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
18.02.2006 17:01 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
jojo jojo ist männlich
Aufsteiger


images/avatars/avatar-1560.jpg

Dabei seit: 25.01.2004
Beiträge: 55

Themenstarter Thema begonnen von jojo
ES FUNKTIONERT       Zum Anfang der Seite springen

@phlox81: unecspected $ kommt dann, hab ich als aller erstes getestet

aber müsste das nicht auch so ihrgendwie gehn?
php:
1:
2:
3:
$ResultPointer2 mysql_query("SELECT * FROM mitglieder WHERE id = $id"$DatabasePointer);
$Result2 mysql_fetch_object($ResultPointer2);
eval('$ok = $Result->'.$pname.';');


wäre nämlich wesendlich weniger arbeit, das einzubauen Zunge raus

oder kann man das ergebnis der
php:
1:
mysql_query("SELECT * FROM mitglieder WHERE id = $id"$DatabasePointer)
als array abspeichern und dann das mit
php:
1:
$aray[$i]
aufrufen

jojo

SO FUNKTIONIERT ES:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
echo    "<p>Projekte:&nbsp;";  
    $ResultPointer mysql_query("SELECT * FROM projekte"$DatabasePointer);

      if(mysql_num_rows($ResultPointer)>0)
    {
        for($i=0$i<mysql_num_rows($ResultPointer); $i++)
        {
            $Result mysql_fetch_object($ResultPointer);
                $pname $Result->name;
                $paktiv $Result->activ;
                $pid $Result->id;
            $ResultPointer2 mysql_query("SELECT * FROM mitglieder WHERE id = $id");
            $Result2 mysql_fetch_object($ResultPointer2);
     //jetzt die beiden wichtigen zeilen
            $ok "\$Result2->p""$pid";          //das "p" weil es nur mit einer zahl nicht funktioniert, die id der projekte, weil in den projektnamen leerzeichen und / - \ u.s.w. drinn waren
            eval ("\$ok = \"$ok\";");
     //so, das waren sie
            if ($ok == "1" && $paktiv == "1") {echo " <a href=\"../projekte/anzeigen.php?projekt="$pname"\">"$pname"</a>,";}
            elseif ($ok == "1" && $paktiv != "1") {echo " "$pname",";}          //damit die projekte, die keine seite haben, nicht mit link zur leeren seite dargestellt werden
            else {}
        }
    }
    else {}
echo "</p>";


und ob ihr es glaubt oder nicht,er entscheidenen hinweis, mit dem ich darauf gekommen bin, hat LX gegeben

erwähnte ich schon, dass verdammt stolz auf mich bin? großes Grinsen

__________________
Meine Meinung steht fest!
Bitte, verwirren Sie mich nicht mit Tatsachen.

Dieser Beitrag wurde 8 mal editiert, zum letzten Mal von jojo: 22.02.2006 16:05.

19.02.2006 10:21 jojo ist offline E-Mail an jojo senden Beiträge von jojo suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Kannst Du uns vielleicht noch sagen, wie Du das geschafft hast. Ich konnte mir das bisher nicht vorstellen, daß es möglich sein sollte, variable Variablennamen zu haben. Ich dachte, daß PHP nur Referenzen kennt. Aber wenn Du es geschafft hast, lasse ich mir gerne eines Besseren belehren.

[edit]Vergiß es, ich sehe, daß Du es noch hinzugefügt hast.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Compuholic: 22.02.2006 15:03.

22.02.2006 15:01 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP [ERLEDIGT] Variablen-Name mit Variable zuweisen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH