Как сделать ссылку на одну из моих баз данных MySQL внутри моего файла php? - PullRequest
0 голосов
/ 25 июня 2018

Я уже получил некоторую помощь, чтобы получить меня так далеко.Ссылка на вопрос: Использование данных базы данных mySql непосредственно для создания статей для моего веб-сайта?(новичку, нужно знать, с чего начать))

На этом этапе я начинаю немного лучше понимать синтаксис кода и структуру проекта.

Но я создал базу данных, используя консоль mySQL.пока в нем всего несколько записей, я хотел попытаться адаптировать код в примере с Заком, но вот проблема, которая у меня есть ...

ПРОБЛЕМА IS: Я не уверен, как получить ссылку намой объект базы данных?В примере кода из Zach есть переменная $ db, я думаю, именно здесь мне нужно сохранить ссылку на мою собственную фактическую базу данных.

Вот «код psuedo» (возможно) из Zach, ПРИМЕЧАНИЕ:он всегда говорил мне не копировать и не вставлять его, но я просто пытаюсь понять, как я могу использовать его в своем проекте.

<?php

$SQL_Query = "SELECT * FROM your_table";
$SQL_Run = mysqli_query($db, $SQL_Query);

while ($row = mysqli_fetch_assoc($SQL_Run)) {
echo 
"<section class='wrapper style1'>
<div class='inner'>
<header class='align-center'>
<h2>" . $row['imageurl'] . "</h2>
<img src='" . $row['title'] . "'> 
<p>" . $row['description'] . "</p>
</header>
</div>
</section>";
}

?>

Итак, вопрос на данный момент таков: как создать ссылку $ db?

ОГРОМНОЕ СПАСИБО!

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Ваш ответ - правильный способ установить соединение.Я хочу указать, что есть два способа написания этого заявления.Версия, которую вы нашли в Интернете, является односторонней, но из нашего предыдущего разговора вы можете написать ее так:

<?php

// Establish how to log in
$servername = "127.0.0.1";
$username = "root";
$password = "yourpasswordhere";
$dbname = "yourdatabasenamehere";

// create the database connection
$db = new mysqli($servername, $username, $password, $dbname);

// if it fails, kill the site.
if (mysqli_connect_error($db)) {
    die("Connection failed: " . mysqli_connect_error($db));
}

// your first query to grab all the article data
$SQL_Query = "SELECT * FROM your_table";
// run the query
$SQL_Run = mysqli_query($db, $SQL_Query);

// while data exists (it makes sure that you have post data, otherwise nothing shows up)
while ($row = mysqli_fetch_assoc($SQL_Run)) {
    echo 
    "<section class='wrapper style1'>
    <div class='inner'>
        <header class='align-center'>
            <h2>" . $row['imageurl'] . "</h2>
            <img src='" . $row['title'] . "'> 
            <p>" . $row['description'] . "</p>
        </header>
    </div>
</section>";
}

// Close the connection
mysqli_close($db);
?>

Вы заметите, что соединения записаны как функция.

mysqli_num_rows($result);

вместо

$result->num_rows

Оба делают одно и то же, только личные предпочтения.Надеюсь, это должно прояснить некоторые вещи из вашего первого поста:)

0 голосов
/ 26 июня 2018

хорошо, я продолжил, и я думаю, что ответил на мой собственный вопрос.Я нахожу это немного сложным для Google, потому что я не понимаю все различные термины и названия функций / api / scripts / и т.д.Но мне нужно было просто прочитать документацию по mysqli_connect (), я настроил код следующим образом, и теперь я собрал все данные из базы данных в слова в моих файлах html / php.

Отсюда, я думаю, я могу переписать код, чтобы сначала отсортировать его по дате, а затем, конечно, можно поместить последние сообщения вверху каждой страницы и т. Д.

Я также могу разрешить пользователюнапример, щелкнуть «Жанр» и просмотреть только «Комедию».

Вот код, позволяющий получить данные, проанализированные в моем файле index.php.Надеюсь, это поможет кому-нибудь еще:

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "yourpasswordhere";
$dbname = "yourdatabasenamehere";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, type, title FROM releases";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Type: " . $row["type"]. " - Title " .         $row["title"]. "<br>";
    }   
} else {
    echo "0 results";
}
$conn->close();
?> 

Я расширил вышеупомянутую работу, заставив скрипт php извлечь все записи в базе данных и создать предыдущую HTML-статью, которую я имел один раз для каждой записи.В операторе SELECT я могу контролировать, какие типы записей отображаются (например, для определенной категории).Вот как я это сделал:

  // make an html article based snippet (image, title, description, etc),
  //once for each entry in the database table...
 <?php
$servername = "127.0.0.1";
$username = "root";
$password = "somepassword";
$dbname = "somedatabasename";

// create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// check connection
if ($conn->connect_error) {
die("connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM releases ORDER BY id DESC";
$result = $conn->query($sql);


if ($result->num_rows > 0) 
{
// output data of each row
while($row = $result->fetch_assoc()) 
{
echo '<section class="wrapper style1">';
echo '<div class="inner">';
echo '<header class="align-center">';
echo '<h2>'. $row["title"] . '</h2>';
echo '<div class="image fit">';
echo '<img src='. $row["imgurl"] .'>'; 
echo '</div> <p> RELEASE TITLE: ' . $row["title"] . '<br /> DATE POSTED: ' . $row["postdate"] . '<br /> DESCRIPTION: ' . $row["description"] . '</p>';
echo '<a href="'.$row["link"].'">DOWNLOAD LINK: '.$row["link"].'</a> <br />';
$NfoLink = $row["nfolink"];
if ($NfoLink != 'not found' && $NfoLink != '')
{   
    echo '<a href="'.$row["nfolink"].'">NFO LINK/MORE DOWNLOADS: '.$row["nfolink"].'</a>';
}
echo '</header>';
echo '</div>';
echo '</section>';
}
} 
else 
{
echo "0 results";
}
$conn->close();
?>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...