Select subiecte fara raspuns
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
cadou
- Mesaje: 328
Select subiecte fara raspuns
Deci am asa 2 tabele mysql intrebari si intrebari-comentarii
in intrebari se afla informatiile
Cod: Selectaţi tot
id auto incremenare
nume - de cine e postat
categorie - se intelege de la sine
intrebare - se intelege de la sine
adresa - adresa intrebarii
data - data postarii
iar in intrebari-comentarii
Cod: Selectaţi tot
id- auto incrementare
dela - comentariu de la xxxxxx
pentru - id-ul intrebarii
comentariu -
data -
Ceea ce nu reusesc sa fac este:
Sa aflu care din intrebari nu au raspuns si sa le afisez + paginare !
- Edit:
Am revenit cu un cod, dar am probleme cu afisarea numerelor la paginare
Cod: Selectaţi tot
<?php
$intrebari = "SET NAMES 'utf8'";
mysql_query($intrebari, $connect);
$intrebari = "SELECT * FROM `intrebari` WHERE `id` NOT IN (SELECT `pentru` FROM `intrebari-comentarii`)";
$result = mysql_query($intrebari, $connect) or trigger_error(E_USER_ERROR);
$r = mysql_fetch_row($result);
$numrows = $r[0];
$rowsperpage = 10;
$totalpages = ceil($numrows / $rowsperpage);
if (isset($_GET['pagina']) && is_numeric($_GET['pagina']))
{ $pagina = (int) $_GET['pagina']; } else { $pagina = 1; }
if ($pagina > $totalpages) { $pagina = $totalpages; }
if ($pagina < 1) { $pagina = 1; }
$offset = ($pagina - 1) * $rowsperpage;
$intrebari = "SELECT * FROM `intrebari` WHERE `id` NOT IN (SELECT `pentru` FROM `intrebari-comentarii`) LIMIT $offset, $rowsperpage";
$result = mysql_query($intrebari, $connect) or trigger_error(E_USER_ERROR);
if(mysql_num_rows($result) == 0){
echo '
<div style="text-align:center;color:darkred;font-weight:bold;margin:25px;">
Nu avem intrebari fara raspuns
</div>';
}
else
while ($list = mysql_fetch_assoc($result)) {
$cerereid = mysql_query("SELECT * FROM `membri` WHERE `nume` = '$list[nume]'");
$randid = mysql_fetch_assoc($cerereid);
$id = $randid['id'];
?>
// codu html pentru cum arata continutul afisat
<?php
}
$range = 6;
if ( $pagina > 1) {
echo '<span class="prima"><a href="/intrebari/fara-raspuns.php"><b>Prima</b></a></span>';
$prevpage = $pagina - 1;
}
for ($x = ($pagina - $range); $x < (($pagina + $range) + 1); $x++) {
if (($x > 0) && ($x <= $totalpages)) {
if ($x == $pagina) {
echo '<span class="curent"> <b>'.$x.'</b> </span>';
} else {
echo '<span class="prima"><a href="/intrebari/fara-raspuns-'.$x.'.php"><b>'.$x.'</b></a></span>';
}
}
}
if ($pagina != $totalpages) { $nextpage = $pagina + 1;
if($numrows > 0)
{
echo '<span class="ultima"><a href="/intrebari/fara-raspuns-'.$totalpages.'.php"><b>Ultima</b></a></span>';
}
}
; ?>
MarPlo
Mesaje: 4343
Poate ca in loc de:
Cod: Selectaţi tot
"SELECT * FROM `membri` WHERE `nume` = '$list[nume]'"
Ar trebui:
Cod: Selectaţi tot
"SELECT * FROM `membri` WHERE `nume` = '". $list['nume'] ."'"
- In rest, din ce stiu, mysql_query() este deprecated; indicatiile de la PHP sunt sa se foloseasca PDO sau MySQLi; pentru mysql_query() nu se mai acorda suport, iar pe serverele cu PHP actualizat va returna mesaj de eroare.
cadou
Mesaje: 328
nu are nici o treaba acel rand.
am sa incep sa modific si sa folosesc pdo desi acum cand am invatat si eu cat de cat cererile in baza de date acum tre sa invat altele
MarPlo
Mesaje: 4343
Select-ul pt. aflare numar total de randuri ( $numrows ) e gresit, trebuie apliicat COUNT() in instructiunea SQL.
La primul Select, in loc de:
Cod: Selectaţi tot
$intrebari = "SELECT * FROM `intrebari` WHERE `id` NOT IN (SELECT `pentru` FROM `intrebari-comentarii`)";
Foloseste:
Cod: Selectaţi tot
$intrebari = "SELECT COUNT(*) FROM `intrebari` WHERE `id` NOT IN (...)";
Iar in paranteza din NOT IN() ar trebui sa se obtina un singur rand cu valori separate prin virgula. Probabil ar trebui folosit in ea un Select cu GROUP_CONCAT(), dar personal ma depaseste.
- Incearca sa testezi instructiunile SQL in PhpMyAdmin sa vezi ce rezultat dau.
Sau poti face intai un Select in "intrebari-comentarii" sa obtii toate id-urie pt "intrebari", apoi le adaugi separate prin virgula in NOT IN() din Select-ul cu COUNT().
- Daca mai sunt si alte grerseli nu stiu, incearca sa intelegi logica codului inainte de a modifica.
Subiecte similare
-
Trimitere automata email-uri fara Cron Job
PHP - MySQL - XML
Primul mesaj
Buna,
Se poate programa sa trimita un email automat din php fara ca pagina sa fie accesata sau fara sa fie setat un cron in Cpanel ?
Daca ar fi...
Ultimul mesaj
Salut,
Ca sa rulezi un script php trebuie sa accesezi acel fisier printr-o aplicatie precum o pagina in browser sau Cron Job pe server.
Din cate...
-
Deschidere camera chat fara refresh pagina
PHP - MySQL - XML
Primul mesaj
Am tot cautat pe net un script js ca atunci cand vreau sa dau click pe o camera de chat sa o incarce in pagina respectiva fara sa am refresh la...
Ultimul mesaj
Salut,
Depinde cum ai chatul construuit. Daca ai camera de chat afisata intr-un iframe, faci ca la clic pe butonul pentru camera sa se schimbe...
-
Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .