Include fisier cu adresa din baza de date
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
royal27
- Mesaje: 79
Include fisier cu adresa din baza de date
Am facut urmatorul cod care preia datele din sql pagina si include,imi arata blank page,ai vreo solutie?
Cod: Selectaţi tot
$page= $_GET['page'];
$pagess =$xyz->query("SELECT id, name, path FROM page");
while($page=$pagess->fetch_array()){
$page =$xyz->query("SELECT id, name, path FROM page")->fetch_array();
$pagesss = $page['name'];
if ($page == "" ){
include ("system/login/login.php");
}else if ( $page== $pagesss){
$page =$xyz->query("SELECT id, name, path FROM page")->fetch_array();
include $page['path'];
}
echo '<br>';
}
MarPlo
Mesaje: 4343
Nu am vreo solutie fiindca din cod nu reise care e problema.
Depinde de structura fisierelor, ce date primesti si ce vrei sa obntii sau sa incluzi.
royal27
Mesaje: 79
am asa
Cod: Selectaţi tot
$page= $_GET['page'];
if($page == "" || $page=="login"){
include('system/login/index.php');
}else if($page =="register"){
include('system/register/register.php');
}
vreau ca unde e
sa extraga numele register din baza de date si unde e
sa extraga doar system/register/register.php si sa imi afiseze pagina normal dar cu codul care l-am facut imi da blank.
MarPlo
Mesaje: 4343
Depaneaza codul, sa vezi unde e problema.
1. Adauga urmatorul cod la inceputul fisierului ca sa afiseze toate erorile:
Cod: Selectaţi tot
ini_set('display_errors',1);
error_reporting(E_ALL);
2. Vezi ce valoare contine $page['path'], cu:
3. Daca e corecta calea de includere, verifica si in fisierul inclus, daca se proceseaza datele din el, de exemplu cu un echo.
royal27
Mesaje: 79
Eroarea imi da string(22) "system/login/login.php" chestia e ca nu imi dezvolta mai departe ce am in sql,a ramas doar pe login in loc sa puna login.php register.php etc......in include ma refer
MarPlo
Mesaje: 4343
O problema e, ori de logica a codului, ori la datele transmise si primite.
Dar poate afla cel care are scriptul si poate sa faca depanare si diferite teste.
Ca un indiciu din ce am observat, in codul dat la inceput ai urmatoarea interogare sql de doua ori, inainte de 'else if()' si in el.
Cod: Selectaţi tot
$page =$xyz->query("SELECT id, name, path FROM page")->fetch_array();
Fara nici o conditie WHERE, acel cod sql returneaza toate randurile din tabelul 'page', iar functia fetch_array() iti da in acel else if() din while() mereu randul curent (adica primul).
Probabil ca interogarea sql ar merge cu o conditie care sa returneze un anumit rand din tabel.
- E doar o parere la ce am observat in cod.
royal27
Mesaje: 79
Aici ai dreptate dar cum fac sa nu returneze ambele randuri ca urmatoarele randuri dar sa nu arate acelasi rand?
MarPlo
Mesaje: 4343
Poti sa adaugi un WHERE in al doilea sql care sa excluda randul /randurile care sa nu fie selectate.
Un exemplu:
Cod: Selectaţi tot
$page =$xyz->query("SELECT id, name, path FROM page WHERE name != '$pagesss'")->fetch_array();
E doar un exemplu, dar in functie de ce vrei sa obtii conditia WHERE poate fi diferita sau mai complexa.
Sau poate ca acel cod trebuie regandit in functie de ce vrei sa obtii, dar tu stii ce. La asta nu ma bag sa-l fac numai eu pe forum.
royal27
Mesaje: 79
o sa merg pe clasic momentan ca imi da de cap,daca o sa ii dau de cap revin cu o postare