Vinnaren i pepparkakshustävlingen!
2015-12-14, 12:53
  #1
Medlem
Försöker att skriva ut ett antal element efter varandra så de hamnar i två olika fieldsets, den ena fungerar som den ska medans den andra beter sig lite konstigt. fieldseten lägger endast in <a> taggen och allt i funktionen listsongs dock tar den inte med sakerna i funktionerna listComments
och printCommentForm. Vilket gör att formuläret och diven blir syskon till Fieldseten när de skall vara barnnoder till det.

Bild på hur de ser ut
http://i65.tinypic.com/1hz4bb.jpg

Bild på hur ja vill att de ska se ut
http://i64.tinypic.com/1570ntk.jpg


Som ni ser på bilderna så ser domen ut såhär just nu
form name=frmSearch (Denna ligger där den skall)
div (Denna ska ligga i den första fieldset)
form(Denna ska ligga i den första fieldset)
fieldset
fieldset

Så här ser search.php ut
Kod:
	include("src/searchFunctions.php");
	include("src/databaseFunctions.php");
	
	try {
	printSearchForm();
	$dbConn = myDBConnect();
	if(isset($_POST['btnSearch'])) {
		$search = $_POST['txtSearch'];
		listSongs($dbConn,$search);
		listArtists($dbConn,$search);
	}


	
	
			
				
	myDBclose($dbConn);
	}
	
catch (Exception $oE) {
	echo ($oE->getMessage());
					  }



Så här ser searchfunctions php ut
Kod:
	function listSongs($inDBConnection, $inSearchString) {
			$getCommentSQL = "SELECT * FROM (tblcomment JOIN tblsong ON tblcomment.songid = tblsong.id) WHERE title LIKE '%" . $inSearchString .  "%'";
			$commentResult = myDBQuery($inDBConnection,$getCommentSQL);
			$listContent = "<fieldset>					
							<legend>
								Searchresult Song
							</legend> ";
							
		if(mysqli_num_rows($commentResult) != 0) {
			
			while ($comment = mysqli_fetch_assoc($commentResult)) {		
			listComments($inDBConnection, $comment['songid']);
			printCommentForm($comment['songid'], $comment['sound']); 			
			$listContent  .= "<a href='#' data-id='". $comment['songid'] ."'>Like ". $comment['sound'] ."</a>
							<p>
								Title: ". $comment['title'] ."<br />
								Song: ". $comment['sound'] ."<br />
								Count: <span data-id='". $comment['songid'] ."'>". $comment['count'] ."</span>
								<br />
								<audio controls='controls'>
									<source src='upload_ogg/". $comment['sound'] ."' />
									Din webbläsare stödjer inte audio-taggen!
								</audio>
								<br />
							</p>
							<hr />"; 
													}
			
					
													
		} 
		
		if (mysqli_num_rows($commentResult) == 0) {
			$listContent .= "<p>No songs with this name!</p>";
			
		}
		$listContent .= "</fieldset>";
		myDBFreeResult($commentResult);
		echo $listContent;	
			
	}
    

	
	function listComments($inDBConnection, $inSongId){
		$strSQL = "SELECT * FROM tblcomment WHERE songid LIKE '" . $inSongId . "' ";
		$result = myDBQuery($inDBConnection,$strSQL);
		$commentContent = "<div data-comments='comments' data-id='". $inSongId ."'>";
		if(mysqli_num_rows($result) != 0) {
			while ($comment = mysqli_fetch_assoc($result)) {
			$commentContent .="	<p>
									<b>". $comment['insertdate'] .":</b>
									<i>". $comment['text'] ."</i>
								</p>";
												}
		} 
		
		if (mysqli_num_rows($result) == 0) {
			$commentContent .= "<p>No comments on this song yet!</p>";
				
		}
		$commentContent .= "</div>";
		myDBFreeResult($result);
		echo $commentContent;
	}
	

	function printCommentForm($songId, $inSongFileName) {
		$formContent = " <form action='#' method='post' name='frmcomment' data-id='". $songId ."'>
								<fieldset>
									<legend>
										Comment on ". $inSongFileName ."
									</legend>
									<textarea name='txtComment' cols='40' rows='10' title='Comment' required='required' placeholder='Write your comment!'></textarea><br />
									<input type='hidden' name='hidId' value='". $songId ."' />
									<input type='submit' name='btnSave' value='Save' />
									<input type='reset' name='btnReset' value='Reset' />
								</fieldset>
							</form>";
		echo $formContent;
	}
    
	
Citera
2015-12-14, 13:16
  #2
Medlem
Istället för att kolla DOM:en så som webbläsaren tolkat den, kolla den genererade HTML:en.

Sen vet jag inte vad titlen på tråden har med problemet att göra. Ser ingen OO... Du borde även försöka dela upp logik och presentation. Då blir det enklare att göra rätt.
Citera
2015-12-14, 15:14
  #3
Medlem
Citat:
Ursprungligen postat av AVGASBARN
Istället för att kolla DOM:en så som webbläsaren tolkat den, kolla den genererade HTML:en.

Sen vet jag inte vad titlen på tråden har med problemet att göra. Ser ingen OO... Du borde även försöka dela upp logik och presentation. Då blir det enklare att göra rätt.

Det är en skoluppgift så vi får inte mixa med de funktioner som redan finns där.

Kollade html och det är samma fel


Kod:
<div data-comments='comments' data-id='1'>	
<p>
									<b>2015-12-07 16:15:37:</b>
									<i>eminem comment</i>
								</p></div> 
<form action='#' method='post' name='frmcomment' data-id='1'>
								<fieldset>
									<legend>
										Comment on test2.ogg
									</legend>
									<textarea name='txtComment' cols='40' rows='10' title='Comment' required='required' placeholder='Write your comment!'></textarea><br />
									<input type='hidden' name='hidId' value='1' />
									<input type='submit' name='btnSave' value='Save' />
									<input type='reset' name='btnReset' value='Reset' />
								</fieldset>
							</form>

<fieldset>					
							<legend>
								Searchresult Song
							</legend> <a href='#' data-id='1'>Like test2.ogg</a>
							<p>
								Title: NewEminem<br />
								Song: test2.ogg<br />
								Count: <span data-id='1'>3</span>
								<br />
								<audio controls='controls'>
									<source src='upload_ogg/test2.ogg' />
									Din webbläsare stödjer inte audio-taggen!
								</audio>
								<br />
							</p>
							<hr /></fieldset>
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback