KalashaLv Posted August 13, 2018 Report Share Posted August 13, 2018 (edited) Sveiki! Visu sataisiju, bet nu tik gudri kā izveidot subkaregorijas man nesanāk :D Kāds varētu lūdzu izpalidzet? index.php skripts: <?php include_once("config_rel.php"); $sql = "SELECT * From categories ORDER BY category_title ASC"; $res = mysql_query($sql) or die(mysql_error()); $categories = ""; if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $id = $row['id']; $title = $row['category_title']; $description = $row['category_description']; $categories .= "<a href='view_category.php?cid=".$id."' class='cat_links'>".$title." - <font size='-1'>".$description."</font></a>"; } echo $categories; } else { echo "<p>Nav pievienota neviena kategorija pašlaik!</p>"; } ?> view_category.php skripts: <?php include_once("config_rel.php"); $cid = $_GET['cid']; if (isset($_SESSION['uid'])) { $logged = " | <a href='create_topic.php?cid=".$cid."'>Izveidot jaunu ierakstu</a>"; } else { $logged = " | Tev ir jāienāk sistēmā lai izveidotu ierakstu!"; } $sql = "SELECT id FROM categories WHERE id='".$cid."' LIMIT 1"; $res = mysql_query($sql) or die (mysql_error()); if (mysql_num_rows($res) == 1) { $sql2 = "SELECT * FROM topics WHERE category_id='".$cid."' ORDER BY topic_reply_date DESC"; $res2 = mysql_query($sql2) or die(mysql_error()); if (mysql_num_rows($res2) > 0) { @$topics .= "<table width='100%' style='border-collapse: collapse;'>"; $topics .= "<tr><td colspan='3'><a href='index.php'>Atgriezties uz sākumlapu!</a>".$logged."<hr /></td></tr>"; $topics .= "<tr style='background-color: #ddd;'><td>Topic Title</td><td width='65' align='center'>Replies</td><td width='65' align='center'>Views</td></tr>"; $topics .= "<tr><td colspan='3'><hr /></td><tr>"; while ($row = mysql_fetch_assoc($res2)) { $tid = $row['id']; $title = $row['topic_title']; $views = $row['topic_views']; $date = $row['topic_date']; $creator = $row['topic_creator']; $topics .= "<tr><td><a href='view_topic.php?cid=".$cid."&tid=".$tid."'>".$title."</a><br /><span class='post_info'>Posted by: ".$creator." on ".$date."</span></td><td align='center'>0</td><td align='center'>".$views."</td></tr>"; $topics .= "<tr><td colspan='3'><hr /></td></tr>"; } $topics .= "</table>"; echo $topics; } else { echo "<a href='index.php'>Atgriezties uz Sākumlapu</a><hr />"; echo "<p>Šajā kategorijā nav topiku!".$logged."</p>"; } } else { echo "<a href='index.php'>Atgriezties uz Sākumlapu</a><hr />"; echo "<p>Šāda kategorija vēl nepastāv!<p>"; } ?> Edited August 14, 2018 by KalashaLv Quote Link to comment Share on other sites More sharing options...
Alnis Posted August 14, 2018 Report Share Posted August 14, 2018 Sāc ar koda lasāmības noformēšanu, piemēram: <?php include_once("config_rel.php"); $sql = "SELECT * From categories ORDER BY category_title ASC"; $res = mysql_query($sql) or die(mysql_error()); $categories = ""; if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $id = $row['id']; $title = $row['category_title']; $description = $row['category_description']; $categories .= "<a href='view_category.php?cid=".$id."' class='cat_links'>".$title." - <font size='-1'>".$description."</font></a>"; } echo $categories; } else { echo "<p>Nav pievienota neviena kategorija pašlaik!</p>"; } ?> neviens neidziļināsies "siena kaudzē"! Quote Link to comment Share on other sites More sharing options...
KalashaLv Posted August 14, 2018 Author Report Share Posted August 14, 2018 26 minutes ago, Alnis said: Sāc ar koda lasāmības noformēšanu, piemēram: <?php include_once("config_rel.php"); $sql = "SELECT * From categories ORDER BY category_title ASC"; $res = mysql_query($sql) or die(mysql_error()); $categories = ""; if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $id = $row['id']; $title = $row['category_title']; $description = $row['category_description']; $categories .= "<a href='view_category.php?cid=".$id."' class='cat_links'>".$title." - <font size='-1'>".$description."</font></a>"; } echo $categories; } else { echo "<p>Nav pievienota neviena kategorija pašlaik!</p>"; } ?> neviens neidziļināsies "siena kaudzē"! Hey, jā, atvaino. Sen neesmu rakstijis forumos un prasijis pēc palīdzības :D Vakardien kaut ko taisot centos izveidot subkategorijas. Viņš viņas izvelk, bet tagad viņš viņu parāda kā kategoriju. Vienīgais ar ko netieku galā ir, kā viņu pārvērst par subkategoriju. ar MYSQL - WHERE viņš ķaut kā nesaistās un parāda ka nav kategoriju. <?php include_once("config_rel.php"); $sql = "SELECT * From categories ORDER BY category_title ASC"; $res = mysql_query($sql) or die(mysql_error()); $categories = ""; $subcat = ""; if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $catName = $row['category_title']; $id = $row['id']; $title = $row['category_title']; $description = $row['category_description']; $categories .= "<a href='view_category.php?cid=".$id."' class='cat_links'>".$title." - <font size='-1'>".$description."</font></a>"; } echo $categories; $sql2 = "SELECT * FROM subcategories ORDER BY id ASC"; $res2 = mysql_query($sql2) or die(mysql_error()); if (mysql_num_rows($res) && ($res2) > 0) { while($row2 = mysql_fetch_assoc($res2)) { $subtitle = $row2['subcat_title']; $subid = $row2['id']; $subcat .= "<a href='#' class='cat_links'>".$subtitle."</a>"; } echo $subcat; } else { echo "Nav pievienota neviena Sub Kategorija!"; } } else { echo "<p>Nav pievienota neviena kategorija pašlaik!</p>"; } ?> Quote Link to comment Share on other sites More sharing options...
aaxc Posted August 14, 2018 Report Share Posted August 14, 2018 1. Neizmanto `mysql_*` funkcijas: Warning This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_query() PDO::query() 2. Nav nepieciešams veidot tabulu jaunām sub-kategorijām (vai tev būs 3. tabula sub-subcategories? Kas ar katru nākamo līmeni?), izmanto parent_id principu. Pievienot jaunu lauku, piemēram to pašu `parent_id`, kas pirmā līmeņa kategorijām būs 0. Nākamajām tajā pašā laikā ievieto attiecīgi augsējās kategorijas ID. Utt. Tad pirmais atlasījums būš SELECT * FROM categories WHERE parent_id = 0; un iekš while vari likt SELECT * FROM categories WHERE parent_id = {$id}; un iegūt tieši tās kategorijas, kas tev ir nepieciešamas attiecīgajam elementam. Pietam to var arī rekursīvi dzīt cauri tik ilgi, kamēr atrodas kāda kategorija. (laigan šeit protams labāk veikt 1 DB pieprasījumu un pēc tam apstrādāt rezultātus, nevis veikt n-tos query pieprasījumus, bet sākumam var arī šādi). 3. Kā jau minēja, noformatē savu kodu skaisti lasāmu. Ne tikai citiem, bet arī sev. Paies daži mēneši un tu vairs nesapratīsi, kas tur rakstīts. Tur pat komentāru nav. 4. Tomēr mēģini nedrukāt ārā katru atrasto rindiņu. Izveidot sākumā, teiksim $output = ''; un pēc tam appendo katru rindu tam $output .= $categories;. Bet pašu outputu veic tikai beigās. Tādi to nepiedrazo headerus, ja uzturu vairākus mainīgos, varēsi vieglāk nokontrolēt kur attiecīgais elements parādās. Quote Link to comment Share on other sites More sharing options...
KalashaLv Posted August 14, 2018 Author Report Share Posted August 14, 2018 2 hours ago, aaxc said: 1. Neizmanto `mysql_*` funkcijas: Warning This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_query() PDO::query() 2. Nav nepieciešams veidot tabulu jaunām sub-kategorijām (vai tev būs 3. tabula sub-subcategories? Kas ar katru nākamo līmeni?), izmanto parent_id principu. Pievienot jaunu lauku, piemēram to pašu `parent_id`, kas pirmā līmeņa kategorijām būs 0. Nākamajām tajā pašā laikā ievieto attiecīgi augsējās kategorijas ID. Utt. Tad pirmais atlasījums būš SELECT * FROM categories WHERE parent_id = 0; un iekš while vari likt SELECT * FROM categories WHERE parent_id = {$id}; un iegūt tieši tās kategorijas, kas tev ir nepieciešamas attiecīgajam elementam. Pietam to var arī rekursīvi dzīt cauri tik ilgi, kamēr atrodas kāda kategorija. (laigan šeit protams labāk veikt 1 DB pieprasījumu un pēc tam apstrādāt rezultātus, nevis veikt n-tos query pieprasījumus, bet sākumam var arī šādi). 3. Kā jau minēja, noformatē savu kodu skaisti lasāmu. Ne tikai citiem, bet arī sev. Paies daži mēneši un tu vairs nesapratīsi, kas tur rakstīts. Tur pat komentāru nav. 4. Tomēr mēģini nedrukāt ārā katru atrasto rindiņu. Izveidot sākumā, teiksim $output = ''; un pēc tam appendo katru rindu tam $output .= $categories;. Bet pašu outputu veic tikai beigās. Tādi to nepiedrazo headerus, ja uzturu vairākus mainīgos, varēsi vieglāk nokontrolēt kur attiecīgais elements parādās. Okey, man viss izdevās, paldies! Bet tagad saskāros ar problēmu. Kā man izvilkt su bkategorijas zem kategorijām? Jo viņš Sub kategorijas izvelk tajā pašā rindā kurā kategorijas.Category 1 Category 2 Category 3 Subcategory1 Subcategory2 Subcategory 3 Bet vajadzētu taču izvilkt Category 1 Subcategory1 Category 2 Subcategory2 Category 3 Subcategory 3 kā man viņu izvilkt? es mēģināju echo $categories; echo $subcat; Quote Link to comment Share on other sites More sharing options...
aaxc Posted August 14, 2018 Report Share Posted August 14, 2018 Nezinu, kā tu beigās realizēji, bet ja tu visu liec stringā un pēc tam drukā ārā, tad tā arī dari - liec visu vienā stringā, teiksim $categories, nevis daļu categories un daļu subcat. Visu outputu vienkārši appendo klāt $categories .= ... Quote Link to comment Share on other sites More sharing options...
KalashaLv Posted August 14, 2018 Author Report Share Posted August 14, 2018 (edited) 1 hour ago, aaxc said: Nezinu, kā tu beigās realizēji, bet ja tu visu liec stringā un pēc tam drukā ārā, tad tā arī dari - liec visu vienā stringā, teiksim $categories, nevis daļu categories un daļu subcat. Visu outputu vienkārši appendo klāt $categories .= ... dabuju visu pie dzīvības! Paldies liels! Mana slavenā kļūda bij tāda, ka es biju aizmirsis izdzēst otro while, kas iekļāva subkategorijas! Bet tagad es saskaros ar problēmu, ka pie vienas kategorijas pievienojot 2 subkategorijas viņš izvelk šādi testest - kategorija 1 Category 1 - Test Test Test Test Subcategory2 - kategorija 2 Category 2 - 123132123123 Subcat 3 - kategorija 3 Category 3 - This is a Test testest - kategorija (nebij te jābūt) Category 1.1 - Test category 1.1 (šim bij jābūt pie 1 kategorjas. Edited August 14, 2018 by KalashaLv Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.