W jaki sposób dynamicznie tworzyć div-y?

0

Dopiero zaczynam z PHP i w związku z tym mam pytanie. W jaki sposób dynamicznie tworzyć divy zależnie od ilości rekordów w badzie, a zawartość odpowiednich kolumn ładować do określonych znaczników html?
(taka struktura)

<div id="ogloszenie">
           <h1></h1>
            <p1></p1>
            <br><p2></p2>
</div>

Z góry dzięki za odpowiedzi.

1
  1. Pobrać rekordy z bazy do zmiennej.
  2. Przelecieć np foreach'em przez elementy tej zmiennej
  3. Wewnątrz ww. pętli - wyświetlać odpowiednie indeksy zgodne z kolumnami w bazie jako html.

Tips&Tricks :D

  1. Odseparuj funkcje związane z logika (pobierające dane z bazy, przeliczające, formatujące dane)
  2. Nie mieszaj htmla z php;em za dużo (np do warstwy wizualnej możesz użyć systemu szablonów tj. Twig albo Smarty)
  3. Przejdź jakiś tutorial związany z jakimś frameworkiem - np laravelem https://tutorials.kode-blog.com/laravel-5-tutorial
0

Ja bym to raczej spróbowała zrobić w jQuery, zdaje się że jest konstrukcja funkcji, gdzie możesz sobie zrobić coś takiego

$(document.body).append('<div id="helloDiv"></div>');   
0

Dobra mam taki kod i wszystko pięknie działa:

	$rezultat = $polaczenie->query("SELECT * FROM books");
					foreach($rezultat as $i)
					{
						$wiersz = $rezultat->fetch_assoc();
						$tresc = $wiersz['tresc'];
						$title = $wiersz['tytul'];
						$contact = $wiersz['kontakt'];
						echo'<div id="ogloszenie"><h1>'.$title.'</h1><p1>'.$tresc.'</p1><br /><p2>'.$contact.'</p2></div>';
					}						

ale teraz mam pytanie. W jaki sposób z

<select><option>jakas opcja</option></select>

po jej zaznaczeniu przesłać jej wartość do zmiennej php?

0

Do każdego znacznika option dodać atrybut value i tam wsadzić np id rekordu. No i nie selcet tylko select i ten znacznik musi posiadać atrybut name, aby wiedział po czym zgrupowane są opcje

0
<select name="cos"><option value="id">jakas opcja</option></select>

coś takiego?

0

Jeśli chcesz przesłać słowo "id" to tak, ja bym tam wystawiał wartości faktycznych rekordów z bazy (o ile tak chcesz mieć to zrobione). Poza tym jeśli brakuje Ci podstaw przerób jakieś poradniki/tutoriale online (pewnie nawet na yt coś znajdziesz). Poza tym jaki problem sprawdzić?

0

Jednak coś nie do końca działa. Mam formularz, który dodaje ogłoszenia do bazy i to działa bo dane są w bazie ale ich wyświetlanie na stronie coś szwankuje. Kod:

try
			{
				$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
				if ($polaczenie->connect_errno!=0)
				{
					throw new Exception(mysqli_connect_errno());
				}
				else
				{
					if($rezultat = $polaczenie->query("SELECT * FROM electric"))
					{
						$ile = $rezultat->num_rows;
						if($ile>0)
						{
							foreach($rezultat as $i)
							{
								$wiersz = $rezultat->fetch_assoc();
								$tresc = $wiersz['tresc'];
								$title = $wiersz['tytul'];
								$contact = $wiersz['kontakt'];
								echo'<div id="ogloszenie"><h1>'.$title.'</h1><p1>'.$tresc.'</p1><br /><p2>'.$contact.'</p2></div>';
							}
							$rezultat->free_result();
						}
						else
						{
							echo 'Brak zawartośći!';
						}
					}
					$polaczenie->close();
				}
			}
			catch(Exception $e)

Po dodaniu przez formularz wyświetla się tylko pusty div bez zawartości mimo iż wszystkie potrzebne dane są w bazie? Nie są pobrane również wszystkie rekordy. Gdzie popełniam błąd?

1 użytkowników online, w tym zalogowanych: 0, gości: 1