MartinsBe Ierakstīts Marts 6, 2012 Share Ierakstīts Marts 6, 2012 Sveiciens visiem. Esmu atdūries, ka tiek veidota aktivitāšu pārraudzība, un sadaļā aktivitātes no db tabulas aktivitātes tiek izvaditas visas pieejamās. Attiecīgi katrai uzģenerē linku. Pēc domas uz katras uzklikojot ir redzami komentāri par to virzību un to autors. visi postiņi glabājas atsevišķā tabuā posts, kura ir aktivitātes id, posta id utt. Tikai tiklīdz ir jauns posts viņs šo linku izvada pa jaunu, un zem katra rādās pa vienam postam. Te būs arī kods. iesakiet ko esmu izdarījis līki. <?php require_once ("./connectDB.php"); function printMainForm () { echo "<form action=\"\" method=\"post\"> <input type=\"submit\" name=\"newActivity\" value=\"Izveidot jaunu aktivitāti\">"; } function printACTform () { echo "<form action=\"\" method=\"post\"> <table width=\"100%\" cellpadding=\"1\" cellspacing=\"0\"> <tr> <td width=\"20%\">Nosaukums : </td><td><input type=\"text\" name=\"nosaukums\" /><br /></td> </tr> <tr> <td width=\"20%\">Autors : </td><td><input type=\"text\" name=\"autors\" /><br /></td> </tr> <tr> <td width=\"20%\">Teksts : </td><td><input type=\"text\" name=\"teksts\" /><br /></td> </tr> <tr> <td align=\"center\" width=\"20%\"></td><td><input type=\"submit\" value=\"Izveidot\" name=\"izveidot\"></td> </tr> </table> </form> "; } function printReplayButton() { echo "<form action=\"\" method=\"post\"> <input type=\"submit\" name=\"newPost\" value=\"Pievienot atbildi\">"; } function printPOSTform () { echo "<form action=\"\" method=\"post\"> <table width=\"100%\" cellpadding=\"1\" cellspacing=\"0\"> <tr> <td width=\"20%\">Autors : </td><td><input type=\"text\" name=\"post_autors\" /><br /></td> </tr> <tr> <td width=\"20%\">Teksts : </td><td><input type=\"text\" name=\"post_teksts\" /><br /></td> </tr> <tr> <td align=\"center\" width=\"20%\"></td><td><input type=\"submit\" value=\"Pievienot\" name=\"pievienot\"></td> </tr> </table> </form>"; } $actName=mysql_real_escape_string($_POST["nosaukums"]); $actAuthor=mysql_real_escape_string($_POST["autors"]); $actText=mysql_real_escape_string($_POST["teksts"]); $postACTID=$_GET["view_id"]; $postAuthor=mysql_real_escape_string($_POST["post_autors"]); $postText=mysql_real_escape_string($_POST["post_teksts"]); function addActivity ($a, $b, $c) { $query="INSERT INTO activities (ID, Name, User, Text) VALUES (NULL, '$a','$b','$c')"; $result = mysql_query($query); } function addPost ($a, $b, $c) { $query="INSERT INTO posts (ID, Activity_ID, User, Text) VALUES (NULL, '$a','$b','$c')"; $result=mysql_query($query); } function printActivities($a,$b,$c) { //$piepras = mysql_query("SELECT * FROM activities, posts WHERE activieties.ID=posts.ctivity_ID"); $query = mysql_query("SELECT * FROM activities LEFT JOIN posts ON (activities.ID=posts.Activity_ID)"); while ($row=mysql_fetch_array($query)) { echo "<a href=\"./?id=5&&view_id=" . $row['ID'] . "\"><b>" . $row['Name'] . "</b></a>."; if ($_GET["view_id"]==$row['ID']) { echo "\n<h2>" . $row['User'] . "</h2><p><i>" . $row['Text'] . "</p></i>"; printReplayButton(); echo "<br / >"; } if (isset($_POST["pievienot"])) { addPost($postACTID, $postAuthor, $postText); } if (isset($_POST["newPost"])) { printPOSTform(); } } } ?> izvads izskatas kkā tā: aktivitate1 aktivitāte1 aktivitāte 2 Link to comment Share on other sites More sharing options...
Mezavecis Marts 6, 2012 Share Marts 6, 2012 (labots) Meklē vainu šeit, jo šis pieprasījums atgriezīs vairāk par vienu ierakstu. Paskaties arī, kādi tev dati datubāzē un ko šis pieprasījums atgriež. Manuprāt jāņem nost identifikators LEFT. SELECT * FROM activities LEFT JOIN posts ON (activities.ID=posts.Activity_ID) Labots Marts 6, 2012 - Mežavecis Link to comment Share on other sites More sharing options...
MartinsBe Marts 6, 2012 Author Share Marts 6, 2012 itkā izņēmu, bet efekta nav. Link to comment Share on other sites More sharing options...
Mezavecis Marts 6, 2012 Share Marts 6, 2012 Arī neloģiski izskatās cikls, kura ietvaros notiek posta pievienošanu un tam vajadzētu būt ārpus selekta cikla. Tāpēc saku, paskaties datu bāzē, vai nav jau n kopijās posti saveidoti. Link to comment Share on other sites More sharing options...
Леший Marts 6, 2012 Share Marts 6, 2012 (labots) A priekš kam tu tajā vietā vispār joino posts? Un MySQLā iekš join clause kā pirmo operandu ir jārakstā joinojamas tabulas lauku. Tas ir LEFT JOIN posts ON (posts.Activity_ID=activities.ID) nevis LEFT JOIN posts ON (activities.ID=posts.Activity_ID) Labots Marts 6, 2012 - Леший Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!