php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.12.2007, 10:19  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
Soese
Standard aus Datenbank (mySQL) mehrere Inhalte rausholen

Hallo Ihr,

ich habe eine Datenbank, in der unter INHALT meine Inhalte liegen
Jetzt würde ich gerne auf einer Seite mehrere Inhalte gleichzeitig auf mehrere Variable aufteilen / auslesen.

So dass z.B. unter $links der INHALT mit dem Namen 01 gelesen wird
und unter $rechts der INHALT mit dem Namen 05 gelesen wird. u.s.w

Muss ich jetzt für jede Variable eine neu Abfrage machen, oder kann ich das irgendwie zusammenfassen ?

Danke für eine Idee.
__________________
I know a little bit of everything and a lot of nothing…
Soese ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.12.2007, 10:26  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich vermute, dass du für jede Variable eine eigene Abfrage machen musst. Aber genaueres kann ich nur sagen, wenn ich den Aufbau deiner Tabellen kenne.
__________________
Gruss
L
lazydog ist offline  
Alt 18.12.2007, 10:32  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
Soese
Standard

hmm,

die Tabelle ist ganz einfach:

ID; SEITE; INHALT

ID ist fortlaufend und unter SEITE ist jeweils der Name des INAHLTs gespeichert.
__________________
I know a little bit of everything and a lot of nothing…
Soese ist offline  
Alt 18.12.2007, 10:57  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das ist so, wie ich etwa vermutet habe. Ich habe selber so etwas ähnliches für sprachabhängige Texte (eine Tabelle pro Sprache). Dazu habe ich mir einfach eine kleine Funktion gebaut, die mir genau den ensprechenden Text holt. Das ist die Funktion:
PHP-Code:
<?php
function get_val($key$lang='en'){        // Get texts from database
   
if(isset($_SESSION['lang'])) $lang $_SESSION['lang'];
   
$table 'texte_' $lang;
   
$sql "SELECT text FROM $table WHERE id = $key"
   
$res $db->query($sql) || die("Error $db->errno: $db->error
Query: $sql
"
;
   list(
$text) = $res->fetch_row();
   return(
$text);
}
Das ganze Sprachzeugs kannst du natürlich weglassen. Ich benutze die mysqli-Funktionen, es lässt sich aber einfach auf mysql-Funktionen umbauen
__________________
Gruss
L
lazydog ist offline  
Alt 18.12.2007, 16:11  
Erfahrener Benutzer
 
Registriert seit: 03.11.2004
Beiträge: 289
Soese
Standard

hmm,
das blicke ich gerade nicht so.
Kann mir das so nicht so "leicht" umdenken / umbauen.

Könntest du so nett sein, und mir mit meiner Abfrage helfen ?

Der Seitenname läuft unter SEITE und der Inhalt unter INHALT -> wie einfallsreich

Möchte gerne mehrere INHALTE gleichzeitig auslesen können.

Würde dann einfach über die URL domain.de?links=01&rechts=05&main=33

schreiben -> so dass 3 Seiten ausgelesen werden sollten

DANKE
__________________
I know a little bit of everything and a lot of nothing…
Soese ist offline  
Alt 18.12.2007, 18:47  
Erfahrener Benutzer
 
Registriert seit: 13.05.2006
Beiträge: 466
Curanai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich helf mal schnell; hab gerade beim Essen eine Hand frei ...

Zeile 2: Funktionsname ... übergibt Parameter, der aus der DB geholt werden; in Deinem Falle die ID; $lang steht in diesem Falle für die Default-Language - entfällt bei Dir.

Zeile 3: Wenn es die Session für Sprache gibt, dann soll sie in $lang stehen ... gibbet die Session nicht, greift autom. $lang aus Zeile 2.

Zeile 4: "Benutze diese Table"! - gem. Lazydog eine Table pro Sprache - entfällt wieder bei Dir. ^^

Zeile 5: Nanu?!

Zeile 6: Ausführung der Query via Datenbank-Klasse; ansonsten Error unter qualvollem Ächzen auf Screen ausgeben

Zeile 7: Ausgabe der Inhalt in Variable $text

Zeile 8: Rückgabe des Strings $text, da wir hier in einer Funktion sind ...

Hab ich was vergessen? ^^

@ Soese: Du kannst einen Query machen, diesen dann beim Durchlauf (Schleife) an die jeweiligen Variablennamen geben ... viele Wege führen nach Rom. Machst Du es mit einer Funktion wie von Lazydog beschrieben, so hast zwei Aufrufe für $links und $rechts mit entsprechendem Parameter "01" bzw. "05" - oder wieder ganz anders.

Denk nicht so kompliziert ... es ist einfach als Du glaubst. ^^
__________________
Manche Menschen sind wie Schnitzel - nicht zäh, aber beidseitig bekloppt!
Curanai ist offline  
Alt 18.12.2007, 22:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

So oder ähnlich (ungetestet):

PHP-Code:
<?
$navi 
= array (
'links' => ,
'rechts' => ,
'main' => 33 
);

$case '';
foreach (
$navi as $key => $val)
  {
  
$case .= ' WHEN Seite = '$val .' THEN \'' $key '\' ';
  }

$query '
     SELECT  Inhalt ,
                  CASE ' 
.
                  
$case '
                  END AS Bereich
     FROM     xyz 
     WHERE   Seite IN(' 
implode (',' $navi). ')';
Geht aber nur für unterschiedliche Inhalte. Sonst mußt Du CASE weglassen und das später mit PHP aus dem $navi Array ableiten...
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Access Datenbank in MySQL Datenbank umwandeln karl Datenbanken 1 19.10.2005 17:04
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Adresse zur MySQL Datenbank Marian Datenbanken 4 10.08.2005 09:47
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
mysql datei in datenbank einspielen Datenbanken 6 20.06.2005 16:07
nur bestimmte werte aus der datenbank rausholen Skazi PHP Tipps 2005 10 18.03.2005 18:30
MySql Datenbank sichern Datenbanken 1 10.01.2005 20:19
Auslesen von Daten aus einer mysql Datenbank + Editieren vampsoftchef PHP Tipps 2004-2 5 15.11.2004 08:31
bin ich blöd???? Mysql Datenbank Passwort becks123 Datenbanken 3 29.10.2004 14:11
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dynamischer inhalt aus datenbank mit unterlinks, passwort aus mysql datenbank rausholen, 1 mysql verschiedene inhalte, mysql daten rausholen, namen aus der datenbank rausholen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.