< návrat zpět

Diskuse


Téma: Dotaz do db, nic se nevypíše. rss

Zaslal/a 31.3.2017 13:14

Ahoj, pokouším se vypsat data z databáze, ale nic se nevypíše. Ikdyž na jiném webu mi to funguje.

Zde je kód hcm kterým se snažím data vypsat:
<?php

/* --- kontrola jadra --- */
if (!defined('_core')) exit;

/* --- definice funkce modulu --- */
function _HCM_moje_novinky()
{
// Připojení k databázi
$pripojeni = mysqli_connect('localhost','root','root','vipol');
if(!$pripojeni){
echo 'Chyba'.mysqli_connect_error();
}

mysqli_set_charset($pripojeni, 'utf8');

// Dotaz do databáze
$novinka = mysqli_query($pripojeni, "SELECT * FROM novinky ORDER BY datum DESC LIMIT 5");

foreach($novinka as $polozka){
$datum = date("d. m. Y", strtotime($polozka['datum']));
echo '<span class="datum">'.$datum.'</span>';
echo '<li>'.$polozka['text'].'</li>';
}
mysqli_close($pripojeni);

}


Tabulka v db vypadá tak:

Tabulka: novinky
id | int(11) |Auto Increment
text | text |
datum | datetime |

Zaslat odpověď >

#020686
avatar
Edit: Takže na servru to funguje tam mám verzi 5.5.3 na localhostu nefunguje tam mam 5.5.5.

Ještě by mě zajímalo proč to nevypisuje novinky v boxu, ale nad ním. http://vipol.hys.cz
V textu boxu mám toto:

Někdo
[hcm]moje/novinky[/hcm]
#020687
Jirka Daněk
Proč řešíš připojení k databázi "ručně"? Apríl je až zítra.
Systém má pro komunikaci s databází třídu.

Ještě by mě zajímalo proč to nevypisuje novinky v boxu, ale nad ním.
Hlavně proto, že se výstup z HCM vrací a nevypisuje!

A co to HTML? Není náhodou pro seznamy zápis <ul><li></li>....</ul>?

A ten zápis má vypadat nějak takhle:
<?php

/* --- kontrola jadra --- */
if (!defined('_core')) exit;

/* --- definice funkce modulu --- */
function _HCM_moje_novinky()
{

$out="";

// Dotaz do databáze
$novinky = DB::query($pripojeni, "SELECT * FROM `novinky` ORDER BY datum DESC LIMIT 5");

$out.="<ul>";
while($novinka = DB::row($novinky)){
$datum = date("d. m. Y", strtotime($polozka['datum']));
$out.="<li><span class='datum'>{$datum}</span>{$novinka['text']}</li>";
}
$out.="</ul>";

return $out;
}
#020688
avatar
Ten tvůj kod mi vypíše i tuto chybu na localhostu:
Notice: Undefined variable: polozka in /Users/michal/Sites/vipol/plugins/hcm/moje/novinky.php on line 15

Na serveru jí nenapíše.

Navíc to vypisuje špatný datum u každé novinky 01. 01. 1970

Nejsem tolik zběhlý v PHP takže nechápu proč ta chyba a to datum, když to předtím fungovalo.
#020689
Jirka Daněk
Tak dneska ti to jako vtip uznám.

Zkoušel jsi číst co to píše?
"Nedefinovaná proměnná: polozka v <soubor> na řádku 15"

A kdyby jsi se podíval na to co jsi měl a co jsem s tím udělal... A přihlédl k tomu, že ti nefunguje datum, tak by tě mělo trknout, že jsem se při přepisu toho bastlu přehlédl a neopravil toto
$datum = date("d. m. Y", strtotime($polozka['datum']));na toto
$datum = date("d. m. Y", strtotime($novinka['datum']));
Nejsem tolik zběhlý v PHP takže nechápu proč ta chyba a to datum, když to předtím fungovalo.
Stálo by za to nastudovat alespoň základy!
#020690
avatar
Děkuji za pomoc, kde najdu nějakou dokumentaci toho sunlight ?
#020691
Jirka Daněk
Tohle není o dokumentaci Sunlightu, ale o pochopení základů z jazyků pro tvorbu webu HTML a PHP. Proměnné, cykly, řetězce a jejich spojování, funkce a jejich parametry a vystup atd... A hlavně čtení chybových zpráv, viz Notice: Undefined variable:...

A určitě bych doporučil nějaké vývojářské IDE, například NetBeans (zdarma), Eclipse(zdarma), Komodo IDE(placený), PHPStorm (placený)... Editory hodně pomáhají s vývojem, napovídají s funkcemi, třídami přičemž dá se do nich prokliknout...