Ben PHP için yeni bir proje için benim kendi CMS üzerinde çalışıyor. Çoğunlukla sadece kendime dil öğrenmek için bir proje vermek için. CMS çalışıyor ama sadece bazı hatalar aşağı takip ediyorum. Yani burada gidiyor ...
I am trying to list all of my published articles for each section. It does this correctly but I am having an issue in the code statement that follows around the line of
echo '</br></br><br>'.ucfirst($row['section']).' Articles: '; //['section'] is the name
Şimdi ben bütün bölümleri gösteriyorum Eğer onun doğru, ben sadece bir bölümü ile giderseniz artan onun sorgulama, ama her zaman sadece onun şu anda için yazılar gösteren bölümüne alır asla ilk bölümün bölüm adını gösterir çünkü . Ben bir makale özledim dont bölüm adını almak için okumak bir ilk astar, daha sonra while ($stories = $result->fetch_assoc())
için döngü döngü içinde geri 0 kez sıfırlamak olabilir bir yolu var mı?
Ben bu yüzden bölüm id sayının kendisi ile bölümün adını alabilir katılmak kullanmak için yeniden bir çalışma vardı. Ben katıldı sql deyimi sadece ihtiyacım olanı yapar. Ben bölüm adını ve daha sonra makale sayısı listeledik sonrasına kadar (while ($stories = $result->fetch_assoc())
). Ama ben katıldı açıklamaya çağrı başlatarak değilim
//query for getting the sections to the list each ones articles
$querySection = 'select * from sections order by section asc';
$resultSection = $handle->query($querySection);
if ($resultSection->num_rows)
{
//hard coded to only show the scection ONE time...
//SQL repeats the rows the number of sections there are. So lets cheat.
if(isset($sectionHolder) && $sectionHolder > 0)
$counterHolder = 9998;
else
$counterHolder = 0;
while ($row = $resultSection->fetch_assoc())
{
if(isset($sectionHolder) && $sectionHolder > 0)
//we are looking at one specific section
$query =
'select articles.*, sections.section
from articles
INNER JOIN sections
ON art_sec=sections.id
where articles.art_sec = \''.$sectionHolder.'\' and articles.published IS NOT NULL
ORDER BY sections.section, articles.headline asc
';
else //just looping through everything we have...
$query = 'select * from articles where art_sec = \''.$row['id'].'\' and published IS NOT NULL order by art_sec asc';
$result = $handle->query($query);
if($result->num_rows > 0 && $counterHolder != 9999)//we have a defined section to go into
{
echo '</br></br><br>'.ucfirst($row['section']).' Articles: ';
echo $result->num_rows;
echo '</br></p>';
if ($result->num_rows)
{
echo '<table width="90%">';
echo '<tr><th>Headline</th>';
echo '<th>Modified</th></tr>';
while ($stories = $result->fetch_assoc())
{
echo '<tr><td width="75%">';
echo $stories['headline'];
echo $stories['sections.section'];
echo '</td><td>';
echo date('m-j-y, h:i', $stories['modified']);
echo '</td><td>';
//add to array
$array[] = $stories['id']; // add every ID on this page to the array.
} //end while of stories
echo '</table></br></br></br></br>';
$counterHolder += 1; //adds one to only come in once if the section is selected or all times if its all sections.
} // end if results num rows
}//end if results num rows >0 and counter != 9999
}//end while row-fetch
}//end if ResultSection-numrows
Maybe someone could also try and help me figure out a way to take out the delimiter of counter. I messed around with other ways but that was the only logic I could come up with to solve my problem, and it just doesnt seem like a very effective way to code. The issue was that when I was looking at just one section and it had 5 articles, it would show the section Name then list its 5 articles, 5 times, vs only being done once. So I have a counter going to only go inside the loop one time, if a section is passed in.
Ben çok yayınlanmıştır ve onu yıkmak için ihtiyacınız varsa, bu burada benim ilk yazı olduğunu, daha adil (ben daha fazla bit ve parçalar daha iyi anladım) söyleyin. Gerekirse ben de kod tüm sayfayı sonrası olabilir.
Teşekkürler