Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 10 (Използване на MySQL)

PHP » PHP
fix3d   трудност:    видян: 24832



Функцията mysql_fetch_row()

Функцията mysql_fetch_row() обработва резултата запис по запис. Информацията се съхранява в номериран масив и всяко поле в записа се съхранява като елемент на масив. Синтаксисът на функцията mysql_fetch_row() е следния:

$resrow = mysql_fetch_row( $result );

Както обясних по-рано, променливата $resrow показва дали функцията е извлечена успешно, Променливата $resrow съдържа стойностите в реда, в който е била получена информацията. Така стойността на първото поле е достъпна като първи елемент на масива. Броя на елементите в масива е равен на броя на колконите в резултатите. Когато използвате функцията mysql_fetch_row() за да извличате резултати трябва да направите следното:
[list=1]
[*]Да се свържете с базата данни.
[*]Да изберете базата данни Mailinglist.
[*]Да създадете SQL заявка за извличане на информацията от базата.
[*]Когато заявката се изпълни, всички записи от таблицата Maildata са извлечени.
[*]Да създадете променлива ( примерно $resrow ) и да съхраните броя на записите, върнати от функцията mysql_fetch_row().
[*]Да използвате цикъла while, който да се изпълнява, докато свърши редовете в резултата.
[*]Променливата $resrow е едномерен масив в който ще се изпълняват редовете от таблицата Maildata.
[*]В тялото на цилъла while за да извлечете ред по ред информацията от таблицата Maildata и да визуализирате информацията в Web страницата.


Функцията mysql_fetch_array()

Когато използвате функцията mysql_fetch_array() записите се извличат под формата на асоциативен масив. В случая на асоциативен масив, всеки елемент на масива съдържа поле от ред в резултата. Всеки елемент има име на съответстващото поле в резултата. Синтаксисът на функцията mysql_fetch_array() е :

$resrow = mysql_fetch_array($result);

В горния синтаксис

[*]Променливата $result позната под името идентификатор на резултата, съдържа резултата, върнат от функцията mysql_query().
[*]Променливата $resrow е асоциативен масив, съдържащ ред от резултата, върнат от функцията mysql_fetch_array().
[*]Първият елемент на масива $resrow съдържа стойност на първото поле на резултата. Етикетът на елемента съвпада с името на първото поле в таблицата. Другите елементи на масива са съответни на другите полета в таблицата.

Предимството на използването на функцията mysql_fetch_array() пред функцията mysql_fetch_row() e, че не ви се налага да помните реда в полетата на таблицата.

Когато се използва функцията mysql_fetch_array() за извличане на информацията, трябва да извършите следното:

[list=1]
[*]Да се свържете с базата данни.
[*]Да изберете базата данни Mailinglist.
[*]Да създадете SQL заявка за извличане на информацията от базата.
[*]Заявката се записва в променливата напримерно $MySQLQuery.
[*]Променливата $MySQLQuery се подава като параметър на функцията mysql_query(), която изпълнява заявката и връща резултата в променливата $result.
[*]Да създадете променлива ( примерно $resrow ) и да съхраните броя на записите, върнати от функцията mysql_fetch_row().
[*]Да използвате цикъла while, който да се изпълнява, докато свърши редовете в резултата.
[*]Променливата $resrow е едномерен масив и неговият първи елемент съхранява стойността на първото поле на таблицата Maildata. Името на полето е присвоен като етикет на елемента.
[*]В тялото на цикъла while за да извлечете ред по ред информацията от таблицата Maildata Чрез използване на функцията mysql_fetch_array() и да визуализирате информацията в Web страницата.



Обновяване на информацията в таблица

Видяхте как може да вмъквате информация в таблица, по същия начин можете и да я обновявате информацията, съхранена в таблица. За целта се използват командите update на MySQL. Когато се обновява информация в таблица, е добра идея да се визуализира информацията, преди да се промени. Извършването на обновяването на информация в таблица обикновено се извършва по-следния начин.

[*]Първо трябва да приемете информацията в HTML страница кой запис трябва да се обнови. Тзи страница обикновено включва уникално поле, което обикновено е първичен ключ.
[*]Когато потребителя натисне бутона Submit, се изпълнява PHP скрипт.
[*]Скриптът осъществява връзка с MySQL и избира база данни
[*]След това заявката се предава на MySQL. Заявката се специфика с помощта на клаузата where. условието използвано в клаузата where, осигурява, че само един запис ще се върне от заявката.
[*]След това върнатата информация се препраща към браузъра
[*]След това информацията се визуализира в HTML форма, създадена с PHP скрипт.
[*]Контролите в HTML страницата показват стойностите от върнатия резултат. Формата се визуализира в браузъра.
[*]Потребителя прави необходимите промени в информацията и натиска бутона Submit, за да покаже, че информацията трябва да се обнови.
[*]Друг PHP скрипт осъществява нова връзка с базата и обновява информацията в таблицата, която използва командата update.
[*]Заявката се изпълнява чрез функцията mysql_quert().
[*]Върнатата стойност показва дали информацията е била обновена успешно

Следващия код създава HTML, която показва всички записи, намиращи се в таблицата Maildata. Всеки запис съдържа препратката редактиране. Когато потребителят избере тази препратка, той може да промени информацията в записа. При избиране на препратката информацията в полето Email на съответния запис се предава на следващата HTML страница. Новата HTML страница ще визуализира запис за редактиране. Запишете следващия код.

<html>
<body>

<?php

$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");

$selectdb = mysql_select_db("Myailinglist")
or die ("Не може да се изберете базата данни");

echo "Базата данни е избрана успешно";

$sqlquery = "SELECT * from Maildata";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");

while ($row = mysql_fetch_array($queryresult)) {


echo "ИМЕ: ";
echo .row["Name"].;
echo <br>";

echo "e-mail: ";
echo .row["Email"].;
echo <br>";

echo "Втори e-mail: ";
echo .row["Secondaryemail"].;
echo <br>";

<a href="displayform.php?email=".row["Email"]."">Редактиране</a>

}

?>

</body>
</html>


Web страницата създадена чрез горния код, ще показва информацията на записа за редактиране. След като потребителя натиска бутона Редактиране, информацията се изпраща към сървъра.
Запишете следващия код под името displayform.php

<html>
<body>
<form name="Maildata" method="Post" action="update.php">
<?php

$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");

$selectdb = mysql_select_db("Myailinglist")
or die ("Не може да се изберете базата данни");

echo "Базата данни е избрана успешно";

$sqlquery = "SELECT * from Maildata WHERE Email='$email'";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");

If($row = mysql_fetch_array($queryresult)) {
echo "ИМЕ: ";
echo .row["Name"].;
echo <br>";

echo "e-mail: ";
echo .row["Email"].;
echo <br>";

echo "Втори e-mail: ";
echo "<input type="text" name="Secondary" value=".row["Secondaryemail"]">";
echo <br>";

<input type="hiden" name="email" value=".row["Email"]">
<input type="submit" name="Submit" value="Изпрати">
}

?>

</body>
</html>

След това обновената информация се извлича от базата данни и се показва в нова HTML страница. Запишете следващия код под името update.php
<html>
<body>

<?php

$connection = mysql_connect ("localhost", "root", "")
or die ("Не може да се осъществи връзка със сървара");

$selectdb = mysql_select_db("Myailinglist")
or die ("Не може да се изберете базата данни");

echo "Базата данни е избрана успешно";

$sqlquery = "Update Maildata SET Secondaryemail='$secondaryemail' Where Email='$email'";

echo $sqlquery;

result="mysql_quert($sqlquery)
or die ("Не може да се изпълни заявката");

echo "Записът е обновен успешно";
?>

</body>
</html>


източник на урока: http://www4u.search.bg


Страници: «1 2 3

Сподели урока:



Коментари (1)

alexiliev на 26.07 2008 в 16:42ч.
Грешка

MySQL отговори:

Can't connect to MySQL server on 'localhost' (10061)

помощ, какво да правя?

Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини