Nejste přihlášeni
Stránky 1
Zdravím, už nějakou dobu si vrtám hlavu s tím, jak na svou stránku zakomponovat stránkování bez toho, abych musel kód nějak kompletně přepracovat.
Na straně serveru probíhá toto:
<?php
session_start();
header('Content-Type: text/plain; charset=utf-8-czech');[/ins]
$dbhost = 'innodb.endora.cz:3306';
$dbuser = 'ondrejpatrovic';
$dbpass = '***********';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
mysqli_set_charset($conn, "utf8");
$conn->query("set character_set_results `UTF-8`");
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$requested_page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$start_from = ($page - 1)*$pocet;
switch ($_POST['cislo']) {
case 1:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
GROUP BY r.nazev
ORDER BY RAND()';
break;
case 2:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, r.cas_od, r.obrazek AS obrazek,COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.cas_od<CURDATE() + INTERVAL 3 MONTH AND r.cas_od>=CURDATE()
GROUP BY r.nazev
ORDER BY r.cas_od ASC
';
break;
case 3:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, r.cas_do, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
where r.cas_do
GROUP BY r.nazev
ORDER BY r.cas_do DESC';
break;
case 4:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, r.typ AS typ, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=1
GROUP BY r.nazev
';
break;
case 5:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, r.typ AS typ, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=2
GROUP BY r.nazev';
break;
case 6:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=3
GROUP BY r.nazev';
break;
case 7:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=4
GROUP BY r.nazev';
break;
case 8:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=5
GROUP BY r.nazev';
break;
case 9:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
WHERE r.typ=6
GROUP BY r.nazev';
break;
case 10:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
GROUP BY r.nazev
ORDER BY round(hodnoceni,3) DESC';
break;
case 11:
$sql = 'SELECT DISTINCT r.id_event AS ID, r.nazev AS nazev, COALESCE(ROUND(AVG(eh.hodnoceni),2),"0") as hodnoceni, r.obrazek AS obrazek, r.popis AS popis FROM eventy r LEFT JOIN eventy_hodnoceni eh ON (eh.e_vent = r.id_event)
GROUP BY r.nazev
ORDER BY r.id_event DESC';
break;
}
mysqli_select_db($conn, 'ticketshop');
$result = mysqli_query($conn, $sql);
if(! $result ) {
die('Could not get data: ' . mysqli_error($conn));
}
$rows = array();
while( $r = mysqli_fetch_object($result)){
$rows[] = $r;
}
echo json_encode($rows);
?>
O následné zpracování v Jquery se pak stará tato funkce:
function sort(cislo){
console.log("sort");
$(".list-group-item").css( "background-color", "white" );
$("#"+cislo).css( "background-color", "#66D6EC" );
$.post("Eventy_Sorty.php",{cislo: cislo},function(vysledek){
// console.log(vysledek);
vysledek2=JSON.parse(vysledek);
console.log(vysledek2);
// console.log(vysledek2[0].nazev);
// console.log(vysledek2[0].hodnoceni);
$("#vklad").html("");
if (vysledek2.length==0) {
$("#vklad").html("");
$("#vklad").append("NENALEZENY ŽÁDNÉ VÝSLEDKY");
}
else {
for(var m=0;m<vysledek2.length;m++){
// var popis= vysledek2[m].popis.slice(0,40) + "...";
$("#vklad").append(""
+"<div class='col-sm-3 col-lg-3 col-md-3'>"
+"<div class='thumbnail'>"
+"<img class='img-responsive' src='"+vysledek2[m].obrazek+"' alt=''>"
+"<div class='caption'>"
+"<h4 align='center'><a href='Detail_Eventu.php?IDR="+vysledek2[m].ID+"' onclick=' ("+vysledek2[m].ID+")'>"+vysledek2[m].nazev+"</a>"
+"</h4>"
+"<p align='center' id='Hodnoceni'><b>INDEX OČEKÁVÁNÍ: "+vysledek2[m].hodnoceni+"/10</b></p>"
// +"<p align='center'>"+popis+"</p>"
+"</div>"
+"</div>"
);
/* if(vysledek2[m].hodnoceni==null){
$("#Hodnoceni").html("<b>BEZ INDEXU OČEKÁNÍ</b>");
}
else{
$("#Hodnoceni").html("<b>INDEX OČEKÁVÁNÍ: "+vysledek2[m].hodnoceni+"/10</b>");
} */
}
}
});
}
(i) jsou v kulatých závorkách jen zde, jinak v kódu mám samozřejmě hranaté.
Budu rád za jakékoli připomínky a nápady, za než již předem děkuji.
Děkuji za pomoc, vše už funguje tak, jak má, minimálně prozatím.
Dobrý den, děkuji za potvrzení domněnky - zkoušil jsem testovat u jiných obrázků a vše fungovalo bez obtíží a PDF výstup se ukázal bez problému.
Teď mám ovšem potíže je dostat na server, vyskakuje mi chyba
"Incorrect output destination: vstupenky/vstupenka.pdf"
vstupenky je opět složka na serveru a vstupenka.pdf název daného vygenerovaného PDF souboru.
Zde přikládám i syntaxi, která by snad měla být v pořádku:
$pdf->Output('F','vstupenky/vstupenka.pdf');
Napadlo mě, že by se mohlo jednat o nedostatečná práva, ale právě například obrázky jde na server ukládat bez problému.
Dobrý den, posílám ukázku kódu, kde dochází ke komplikaci:
$sqm = 'SELECT uo.nazev, uo.oznaceni, uo.dodani, uo.platba,uo.cena, o.total_cena AS totaly, vo.objednavka, e.obrazek AS obrazek, o.pouzito_kreditu AS kredity, o.datum_objednavky FROM uzivatele_objednavka uo JOIN objednavky o ON (uo.id_o = o.id_o) JOIN vstupenka_objednavka vo ON (vo.objednavka = o.id_o) JOIN eventy e ON (e.id_event = vo.e_vent) WHERE uo.id_o="'.$idecko.'"';
mysqli_select_db($conn, 'ticketshop');
$rittig = mysqli_query( $conn, $sqm);
if($rittig) {
//echo "yeeeees";
}
else {
die('Could not send data: ' . mysqli_error($conn). 'něco je špatně');
}
$pdf = new tFPDF();
$pdf->AddPage();
$pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true);
$pdf->SetFont('DejaVu','',14);
while($row = mysqli_fetch_array($rittig)){
$pdf->Image($row['obrazek'],60,30,90);
$pdf->Cell(180, 40, $row['nazev'], 0, 2, 'C');
$pdf->Cell(180, 20, $row['dodani'], 0, 1, 'C');
}
$pdf->Output();
SELECT by měl být v pořádku, jak jsem psal, je rozpoznána cesta k němu "images/test.jpg" - images je má složka na serveru, kam ukládám dané obrázky,a v databázi je na ní přímo navedeno - při normálním zobrazování stránky bez problému funguje.
Zdravím, snažím se po odeslání objednávky vygenerovat PDF s obrázkem z databáze, po odeslání mi ovšem vyskočí tato chyba: FPDF error: Missing or incorrect image file: images/test.jpg
Slyšel jsem, že problém může být, pokud není zapnuto allow_url_fopen, ovšem v tomto případě se o to jednat nemůže.
Nevíte někdo, co s tím?
Předem děkuji za odpověď.
Stránky 1