Visualizzazione risultati 1 fino 3 di 3

Discussione: Sito dinamico

  1. #1
    Guest

    Predefinito Sito dinamico

    ho preso questo modello per creare un sito dinamico... quindi ho creato le tabelle nel db:

    Codice PHP:
    CREATE TABLE authors (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    surname VARCHAR(100) NOT NULL,

    PRIMARY KEY(id)
    );

    CREATE TABLE articles (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    author_id INT UNSIGNED NOT NULL,
    title VARCHAR(100) NOT NULL,
    article TEXT NOT NULL,

    PRIMARY KEY(id),
    KEY(author_id)
    );
    e poi ho creato le tre pagine:
    index.php

    Codice PHP:
    <?php

    $limit
    = 5; // articoli per pagina

    $mysql = new mysqli('localhost', 'root', '', 'html_it_articles');
    if(!
    $mysql)
    {
    die(
    "Errore di connessione al database, impossibile procedere");
    }

    $result = $mysql->query("SELECT COUNT(*) AS tot FROM articles")->fetch_assoc();

    $page = isset($_GET['p']) ? $_GET['p'] : 1;
    $totals = $result['tot'];
    $totals_pages = ceil($totals / $limit);

    $articles = $mysql->query("
    SELECT
    AR.id AS id,
    AR.title AS title,
    CONCAT(SUBSTR(AR.article, 1, 200), ' ...') AS content,
    CONCAT(AU.surname, ' ', AU.name) AS author
    FROM
    articles AR,
    authors AU
    WHERE
    AR.author_id = AU.id
    ORDER BY id DESC
    LIMIT "
    .(($page - 1) * $limit).",".$limit);
    ?>
    <html>
    <head>
    <title>Articoli</title>
    </head>
    <body>
    <ul>
    <li><a href="index.php">Lista articoli</a></li>
    <li><a href="insert.php">Inserisci un articolo</a></li>
    </ul>
    <p>Articoli totali: <?php echo $totals; ?></p>
    <table width="500px">
    <?php
    while($article = $articles->fetch_assoc())
    {
    printf('<tr>
    <td>%d. <a href="show.php?id=%d">%s</a> (%s) </td>
    </tr>
    <tr>
    <td><p>%s</p></td>
    </tr>
    <tr>
    <td><hr /></td>
    </tr>'
    ,
    $article['id'],
    $article['id'],
    $article['title'],
    $article['author'],
    $article['content']
    );
    }
    ?>
    </table>
    <p>Pagina <?php echo $page; ?> di <?php echo $totals_pages; ?> <br />
    <?php
    if($page - 1 > 0)
    {
    echo
    '<a href="?p='.($page - 1).'">&lt; prev</a> | ';
    }else
    {
    echo
    '&lt; prev | ';
    }
    if(
    $page + 1 <= $totals_pages)
    {
    echo
    '<a href="?p='.($page + 1).'">next &gt;</a>';
    }else
    {
    echo
    'next &gt;';
    }
    ?>
    </p>
    </body>
    </html>
    show.php
    Codice PHP:
    <?php

    $mysql
    = new mysqli('localhost', 'root', '', 'html_it_articles');
    if(!
    $mysql)
    {
    die(
    "Errore di connessione al database, impossibile procedere");
    }

    if(!isset(
    $_GET['id']))
    {
    header('Location: index.php');
    }

    $article = $mysql->query("
    SELECT
    AR.id AS id,
    AR.title AS title,
    AR.article AS content,
    CONCAT(AU.surname, ' ', AU.name) AS author
    FROM
    articles AR,
    authors AU
    WHERE
    AR.author_id = AU.id AND
    AR.id = "
    .$_GET['id'])->fetch_assoc();
    ?>
    <html>
    <head>
    <title>Articolo (<?php echo $article['id']; ?>)</title>
    </head>
    <body>
    <ul>
    <li><a href="index.php">Lista articoli</a></li>
    <li><a href="insert.php">Inserisci un articolo</a></li>
    </ul>
    <h3><?php echo $article['title']; ?></h3>
    <i><?php echo $article['author']; ?></i>
    <p>
    <?php echo $article['content']; ?>
    </p>
    </body>
    </html>
    insert.php
    Codice PHP:
    <?php

    $mysql
    = new mysqli('localhost', 'root', '', 'html_it_articles');
    if(!
    $mysql)
    {
    die(
    "Errore di connessione al database, impossibile procedere");
    }

    if(isset(
    $_POST['action']) and $_POST['action'] == 'insert')
    {
    $mysql->query("INSERT INTO articles VALUES ('', '".$_POST['author']."', '".addslashes($_POST['title'])."', '".addslashes($_POST['article'])."')");
    header('Location: index.php');
    }

    $authors = $mysql->query("SELECT id, CONCAT(surname, ' ', name) AS fullname FROM authors ORDER BY surname ASC");
    ?>
    <html>
    <head>
    <title>Inserimento articolo</title>
    </head>
    <body>
    <ul>
    <li><a href="index.php">Lista articoli</a></li>
    <li><a href="insert.php">Inserisci un articolo</a></li>
    </ul>
    <h3>Inserisci un articolo</h3>
    <form action="" method="post">
    <input type="hidden" name="action" value="insert" />
    <label>Autore:</label> <select name="author">
    <?php
    while($author = $authors->fetch_assoc())
    {
    echo
    "<option value=".$author['id'].">".$author['fullname']."</option>";
    }
    ?>
    </select><br />
    <label>Titolo:</label> <input type="text" name="title" size="55"/><br />
    <label>Text:</label><br />
    <textarea name="article" rows="6" cols="60"></textarea><br />
    <input type="submit" value="Salva" />
    </form>
    </body>
    </html>
    Quando poi provo ad aprire index.php mi dą errore alla stringa 11 why?

  2. #2
    L'avatar di saitfainder
    saitfainder non č connesso Sėniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da AllOfTribals Visualizza messaggio
    Quando poi provo ad aprire index.php mi dą errore alla stringa 11 why?
    Riga 11 di quale file?

    C'entra qualcosa con phpBB o hai scelto una sezione a casaccio?


    «Č una mia peculiaritą distorcere la veritą e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Riga 11 di quale file?

    C'entra qualcosa con phpBB o hai scelto una sezione a casaccio?

    mi data errore alla riga 11 del file index.php :)
    comunqque in pratica dovevo trogliere le parentesi a
    Codice PHP:
    fetch_assoc();

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •