PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL Abfragen in PHP verkürzen?



th3p0is0n
03.12.2010, 11:56
Morgen,
bin zurzeit an rumscripten und hab ne Frage :D

Hab nun folgenden Source fertig :



<title>testpage</title>
<?php
mysql_connect("localhost","secret","secret");
mysql_select_db("Datenbank");
?>
<?PHP
$ergebnis = mysql_query("SELECT Seitenname FROM Variablen");
while($row = mysql_fetch_object($ergebnis))
{
$lol = $row->Seitenname;
}
?>
<?PHP
$ergebnis = mysql_query("SELECT Motto FROM Variablen");
while($row = mysql_fetch_object($ergebnis))
{
$lol2 = $row->Motto;
}
?>
<?PHP
$ergebnis = mysql_query("SELECT Text1 FROM Text");
while($row = mysql_fetch_object($ergebnis))
{
$lol3 = $row->Text1;
}
?>
<?PHP
$ergebnis = mysql_query("SELECT Text2 FROM Text");
while($row = mysql_fetch_object($ergebnis))
{
$lol4 = $row->Text2;
}
?>
<?php
$stelle = $_GET['stelle'];
$PHP = array(
"seitename"=>$lol,
"motto"=>$lol2,
"text1"=>$lol3,
"text2"=>$lol4);
echo $PHP["$stelle"];
?>
Gibts noch ne Mglichkeit das kürzer zu machen oder is das schon die kürzeste Variante? :P

( BTW: das script hab ich geschrieben damit ich immerwieder meine Daten kontrollieren kann ^^ es kommt dann auchnoch ne ID usw dazu )

DonaldDrug
03.12.2010, 12:06
ja, einfach
$abfrage = "SELECT * FROM tabelle"

nimmt alles aus der tabelle.

aber wie ich sehe willst du aus 2 tabellen was haben, das wiederrum würde mit inner Join lösen.


edit: ganz neben bei sieht das nicht nach geschrieben, sondern zusammen kopiert aus :/

th3p0is0n
03.12.2010, 12:10
edit: ganz neben bei sieht das nicht nach geschrieben, sondern zusammen kopiert aus :/

ich muss ja nicht alles neuschreiben :D wieso schwer wenns einfach geht :O

DonaldDrug
03.12.2010, 12:23
weil die source die du da hast blödsinn ist^^

th3p0is0n
03.12.2010, 12:42
funktioniert aber^^

DonaldDrug
03.12.2010, 13:07
ja ist auch nicht falsch, aber umständlich .. ich würde es so macheb
<?php
mysql_connect("localhost","secret","secret");
mysql_select_db("Datenbank");

$ergebnis = mysql_query("SELECT * FROM Variablen");
while($row = mysql_fetch_object($ergebnis))
{
$lol1 = $row->Seitenname;
$lol2 = $row->Motto;
}

$text = mysql_query("SELECT * FROM Text");
while($row = mysql_fetch_object($text))
{
$lol1 = $row->Text1;
$lol2 = $row->Text1;
}
$stelle = $_GET['stelle'];
$PHP = array(
"seitename"=>$lol,
"motto"=>$lol2,
"text1"=>$lol3,
"text2"=>$lol4);
echo $PHP["$stelle"];
?>

auch wenn ich $PHP['stelle']; nicht wirklich verstehe

th3p0is0n
03.12.2010, 16:03
Danke dir :D

joa $PHP['stelle'] is halt die GET variable :D soll ja nicht jeder der das script findet wissen wies geht ^^

// $stelle = $_GET['stelle']; is die GET variable aber ich hoffe du weißt was ich meine ^^

DonaldDrug
03.12.2010, 18:51
warum dann nicht echo $stelle? o.O

fred777
05.12.2010, 10:02
<?php
# simple poc

mysql_connect("localhost","secret","secret");
mysql_select_db("Datenbank");

while($row = mysql_fetch_object(mysql_query("SELECT * FROM Variablen,Text")))
{
$lol = $row->Seitenname;
$lol2 = $row->Motto;
$lol3 = $row->Text1;
$lol4 = $row->Text2;
}

?>

DonaldDrug
05.12.2010, 19:35
ah wusste nicht das: "SELECT * FROM Variablen,Text" so funktioniert, man lernt jeden tag dazu

Notorious
05.12.2010, 20:06
Ja genau und so wie ich mir deinen php code mal ansehe ist das warscheinlich C&P.

blackberry
05.12.2010, 20:10
Wenn du von zwei Tabellen gleichzeitig ohne Join Daten selektieren kannst, dann ist das ein starkes Indiz dafür, dass das Datenbanklayout schlecht ist.

DonaldDrug
06.12.2010, 17:49
Ja genau und so wie ich mir deinen php code mal ansehe ist das warscheinlich C&P.

mein code o.O?

blackberry
06.12.2010, 18:00
q.e.d.

GregorSamsa
06.12.2010, 18:32
<?php

$result = mysql_query('SeLEcT da FCKinG sh1t FR0m tabl3');

while($r = mysql_fetch_assoc($result)
foreach($r as $k => $v)
$$k = $v;