Hur lägga till information på en hemsida utan mer html kod?

Permalänk
Medlem

Hur lägga till information på en hemsida utan mer html kod?

Jag har skapat en hemsida för en filmfestival där det hela tiden läggs till filmer i programmet. Finns det något enklare sätt att dynamiskt skapa nya "poster" med filmer utan att jag behöver gå in i html koden hela tiden och lägga till de "manuellt"? Jag har skapat en bit med kod för varje film där titeln, handlingen och övrigt formateras med ett visst utseende med css. Är jag helt ute och cyklar eller kan man göra detta med ett så kallat cms system?

Permalänk
Inaktiv

Joomla eller Wordpress?

Permalänk
Medlem
Skrivet av Tallrot:

Jag har skapat en hemsida för en filmfestival där det hela tiden läggs till filmer i programmet. Finns det något enklare sätt att dynamiskt skapa nya "poster" med filmer utan att jag behöver gå in i html koden hela tiden och lägga till de "manuellt"? Jag har skapat en bit med kod för varje film där titeln, handlingen och övrigt formateras med ett visst utseende med css. Är jag helt ute och cyklar eller kan man göra detta med ett så kallat cms system?

Det första jag blev att tänka på är en databas samt javascript/php.
För JavaScript så kan du använda AJAX för att hämta ut informationen och sedan hantera den på det sätt du vill, t.ex. skapa nya div:ar och placera in rätt information. Då blir sidan helt dynamisk - vilket underlättar en hel del. Det kan dock vara en hel del kod om du inte har någon databas sedan innan.

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk
Medlem

Prova att göra om din hemside design till http://www.tinycms.eu/

Visa signatur

https://hackernet.se - Wiki med inriktning open source och nätverk.

Permalänk
Medlem

@Pamudas: Det låter som en bra idé, har tillgång till en mysql databas där sidan ligger så det borde inte vara några problem. Ska experimentera lite med det så tack för tipset.

Permalänk
Medlem
Skrivet av Tallrot:

@Pamudas: Det låter som en bra idé, har tillgång till en mysql databas där sidan ligger så det borde inte vara några problem. Ska experimentera lite med det så tack för tipset.

Är det MySQL så får du helt enkelt använda dig av JavaScript samt PHP eftersom JS själv inte kan använda MySQL. Busenkelt att komma igång och du behöver inte göra om din sida till enbart PHP, utan endast en ny fil där du läser ifrån med hjälp av Ajax Lycka till!

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB

Permalänk
Medlem

@Tallrot:

Ett sätt är att använda PHP och en databas.

Här är ett exempel där man skickar in det man vill söka på i databasen och sedan "ritas" en tabellrad för varje resultat från databasen.

HTML:

Här finns formuläret som skickar förfrågan med metoden post. Tabellhuvud och tabellslut finns även här men kan finnas i databas.php.

Include gör att databas.php "skriver ut" så många rader i tabellen som det finns resultat från databasen.

<form method="post"> <input type="text" name="search" placeholder="Sök"> <button type="submit">sök</button> </form> <table > <thead> <tr> <th>Bild</th> <th>Regissör</th> <th>Titel</th> </tr> </thead> <?php include("inc/databas.php"); ?> </table> databas.php: <?php $database = "MyDatabase"; //Databasen $password = "MyPassWord"; //Lösenord try { $dbh = new PDO('mysql:host=localhost;dbname='.$database, 'root', $password); //Försöker ansluta } catch (PDOExeption $exeption) { echo "Connection error: " . $exeption->getMessage(); } if (!empty($_POST['search'])) { //Om sökrutan inte är tom $name = $_POST["search"]; if ($name != '*') $sql = "SELECT * FROM movies WHERE regissor LIKE '%$name%' OR title LIKE '%$name%'"; else $sql = "SELECT * FROM books"; } else{ //Om sökrutan är tom $sql = ""; } $smtp = $dbh -> prepare($sql); //Förbereder att utföra SQL. $smtp -> execute(); //Kör SQL echo '<tbody>'; foreach($smtp as $heroData){ echo '<tr>'; echo '<th><img src="img/', $heroData['bild'], '" alt="Sports"></th>'; echo '<td>',$heroData['regissor'],'</td>'; echo '<td>',$heroData['title'],'</td>'; echo '</tr>'; } echo '</tbody>';

Här antar vi då att du har en databas med en bild som bara är namnet på bilden t.ex. lejonkungen.jpg. Sedan en kolumn med regissör och en med titel på filmen.

Dessa värden hämtas sedan ut i foreach-satsen.

Säg till om du behöver hjälp.

Visa signatur

Chassi: Fractal Design Define C || Processor: Intel i7-8700K || Grafikkort: ASUS GeForce GTX 1080Ti ROG Strix Gaming || Moderkort: Gigabyte Z370 AORUS ULTRA WIFI || Minne: Corsair Vengeance LPX DDR4 3000MHz 32 Gb || Lagring: Samsung 860 EVO 1TB SSD || PSU: Seasonic Focus+ 850W 85+ GOLD PSU || Skärm:Samsung Odyssey G9 || Windows 10

Permalänk
Medlem

Ja lägg all info i databasen med olika kolumner för varje information. Sedan hämta och skriv ut på hemsidan. Sedan gör ett enkelt admin-gränssnitt där man kan lägga till poster i databasen samt radera.

Permalänk
Medlem

https://firebase.google.com/

Måste tipsa om firebase, tycker jag passar perfekt till sådana här ändamål. Du kan skapa en webbplats, publicera gratis och de har hand om backend (noSQLl DB och hosting) gratis, om deras gratis-packet duger alltså.

Tack vare firebase kan du skriva sidan helt i clienten, alltså enbart HTML + JS. Du får skriva allt UI själv dock eller skriva in ny data direkt i deras UI på firebase hemsidan. De använder en "json objekt" baserad lagring, så ny filmpost skulle kunna se ut

{
film: "Saving Private Irene",
bild: "http://res.imdb.stulenbild/srp-poster.png",
visningstid: "19:00 19 Jan 2033",
beskrivning: "detta är en film jag sett fram emot länge!"
}