Вызвать ссылкой функцию php

Как повесить функцию php на ссылку

Всем привет, я столкнулся с проблемой «Не могу повесить функцию php на ссылку». При нажатии на ссылку должна выполняться функция, в которой происходит запрос к базе.

Вот мой код. Подскажите в чем я не прав!?

Как повесить событие на динамически формируемую ссылку
Ситуация такая Формируется ссылка в результате запроса к БД Примерно так While Not dat1.Eof .

Как запустить PHP функцию при нажатии на ссылку или на кнопку
Как запустить PHP функцию при нажатии на ссылку или на кнопку, при этом вставить введённые.

JavaScript+JQuery! Как повесить функцию обновления страницы на эту же нажатую кнопку, которая имеет другую функцию?
я понимаю что звучит очень странно, НО! по пунктам: 1. есть кнопка С функцией А 2. при нажатии на.

Как повесить кнопку на функцию
Хочу поставит кнопку на функцию using System; using System.Drawing; using System.ComponentModel;.

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

ЦитатаСообщение от Ahiles3005 Посмотреть сообщение

ЦитатаСообщение от Sannikov1994 Посмотреть сообщение

a href="index.php?p=lpw&link=lpw">Главная страница/a>
$link = isset($_GET['link']) ? $_GET['link'] : null; if ($link) { #Тут то, что Вам надо сделать, выполнить запрос например. } else { #Тут код, который выводит ошибку. }

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

a href="index.php?p=lpw&link=lpw">Главная страница/a>
$link = isset($_GET['link']) ? $_GET['link'] : null; if ($link) { #Тут то, что Вам надо сделать, выполнить запрос например. } else { #Тут код, который выводит ошибку. }

Добавлено через 5 часов 51 минуту

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

a href="index.php?p=lpw&link=lpw">Главная страница/a>
$link = isset($_GET['link']) ? $_GET['link'] : null; if ($link) { #Тут то, что Вам надо сделать, выполнить запрос например. } else { #Тут код, который выводит ошибку. }

И еще такой один вопрос, что нужно вставлять в параметр GET

$link = isset($_GET['сюда']) ? $_GET['сюда'] : null;

ЦитатаСообщение от Sannikov1994 Посмотреть сообщение

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

Я сделал как вы написали, запрос уходит в базу данных. Но я не понял как формировать ссылку и передавать ее методом GET, вы не могли бы написать простой пример как оформлять ссылку и при нажатии на ссылку происходил бы запрос к базе и редирект обратно на эту же страницу?

div id="photo-left"> a href="women.php?p=lpw&link=lpw">img src=" " width="100%" />/a> p class="name-left">/p> p class="name-left">ID: ['id']; ?>/p> /div>

ЦитатаСообщение от Sannikov1994 Посмотреть сообщение

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

//Делаем случайную выборку для левой картинки $photo_random_left_man = mysql_query("SELECT id,name,img FROM man ORDER BY RAND();", $db); $photo_left_man = mysql_fetch_array($photo_random_left_man); $id_lpm = $photo_left_man['id'];//id картинки $name_lpm = $photo_left_man['name'];//имя пользователя $img_lpm = $photo_left_man['img'];//картинка пользователя
1 2 3 4 5 6 7 8 9 10 11 12 13
$photo_random_left_man = mysql_query("SELECT id, name, img FROM man ORDER BY RAND();", $db); if (!$photo_random_left_man) { #Тут код ошибки. Можно использовать функцию mysqli_error() } else { $photo_left_man = mysql_fetch_array($photo_random_left_man); $id_lpm = $photo_left_man['id']; $name_lpm = $photo_left_man['name']; $img_lpm = $photo_left_man['img']; $link_fun = ' . $id_lpm . '"> '; #Создаем переменную с ссылкой для шаблона }
$id = isset($_GET['id']) ? $_GET['id'] : null; #И так далее. 

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

Спасибо , постараюсь реализовать это сегодня. Думаю что получится 🙂

Можете посоветовать хороший мануал по php/mysql?

Сделал все как вы и говорили, параметр передается через адресную строку, но не изменяется поле в базе данных :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$photo_random_left_women = mysql_query("SELECT id, name, img FROM women ORDER BY RAND();", $db); if (!$photo_random_left_women){ mysql_error(); } else { $photo_left_women = mysql_fetch_array($photo_random_left_women); $id_lpw = $photo_left_women['id']; $name_lpw = $photo_left_women['name']; $img_lpw = $photo_left_women['img']; #Создаем переменную с ссылкой для шаблона $link_fun = ' . $id_lpw . '">'; } $id_lpwr = isset($_GET['id']) ? $_GET['id'] : null; if ($id_lpwr){ $query_lpw = ("UPDATE women SET rating=rating+1 WHERE "); $mysql_query_lpw = mysql_query($query_lpw); } else { echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$id_lpwr = isset($_GET['id']) ? $_GET['id'] : null; if (!$id_lpwr) { echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { $query = mysql_query("SELECT * FROM women WHERE ";", $db); $row = mysqli_fetch_assoc($query); $rating = $row['rating'] + 1; $query_lpw = mysql_query("UPDATE women SET rating = '$rating' WHERE id ='$id_lpw'"); if (!$query_lpw)   echo "Произошла ошибка! Пожалуйста a href='index.php'>сообщите администраторуa> сайта."; > else   echo "Рейтинг обновлён!"; > >

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$id_lpwr = isset($_GET['id']) ? $_GET['id'] : null; if (!$id_lpwr) { echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { $query = mysql_query("SELECT * FROM women WHERE ";", $db); $row = mysqli_fetch_assoc($query); $rating = $row['rating'] + 1; $query_lpw = mysql_query("UPDATE women SET rating = '$rating' WHERE id ='$id_lpw'"); if (!$query_lpw)   echo "Произошла ошибка! Пожалуйста a href='index.php'>сообщите администраторуa> сайта."; > else   echo "Рейтинг обновлён!"; > >

Сейчас на сайте выводится сообщение типа «Произошла ошибка! Пожалуйста сообщите администратору сайта.»

Как я понял мы передаем параметр GET через адресную строку, без обработчика.

Объект на который нажимаем

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
$photo_random_left_women = mysql_query("SELECT id, name, img FROM women ORDER BY RAND();", $db); if (!$photo_random_left_women){ mysql_error(); } else { $photo_left_women = mysql_fetch_array($photo_random_left_women); $id_lpw = $photo_left_women['id']; $name_lpw = $photo_left_women['name']; $img_lpw = $photo_left_women['img']; #Создаем переменную с ссылкой для шаблона $link_fun = ' . $id_lpw . '">'; } $id_lpwr = isset($_GET['id']) ? $_GET['id'] : null; if (!$id_lpwr) { echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { $query = mysql_query("SELECT * FROM women WHERE ;", $db); $row = mysqli_fetch_assoc($query); $rating = $row['rating'] + 1; $query_lpw = mysql_query("UPDATE women SET rating = '$rating' WHERE "); if (!$query_lpw){ echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { echo "Рейтинг обновлён!"; } }

ЦитатаСообщение от Sannikov1994 Посмотреть сообщение

Сейчас на сайте выводится сообщение типа «Произошла ошибка! Пожалуйста сообщите администратору сайта.»

В скрипте два одинаковых сообщения об ошибке. Что бы понять, в каком именно месте выходит ошибка замените:

if (!$query_lpw){ echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { echo "Рейтинг обновлён!";
if (!$query_lpw){ echo "Произошла ошибка Базы данных!"; } else { echo "Рейтинг обновлён!";

ЦитатаСообщение от Raisin Zn Посмотреть сообщение

В скрипте два одинаковых сообщения об ошибке. Что бы понять, в каком именно месте выходит ошибка замените:

if (!$query_lpw){ echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { echo "Рейтинг обновлён!";
if (!$query_lpw){ echo "Произошла ошибка Базы данных!"; } else { echo "Рейтинг обновлён!";

Сделал как вы и сказали , выходит сообщение типа » Произошла ошибка! Пожалуйста сообщите администратору сайта. «

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
$photo_random_left_women = mysql_query("SELECT id, name, img FROM women ORDER BY RAND();", $db); if (!$photo_random_left_women){ mysql_error(); } else { $photo_left_women = mysql_fetch_array($photo_random_left_women); $id_lpw = $photo_left_women['id']; $name_lpw = $photo_left_women['name']; $img_lpw = $photo_left_women['img']; #Создаем переменную с ссылкой для шаблона $link_fun = ' . $id_lpw . '">'; } $id_lpwr = isset($_GET['id']) ? $_GET['id'] : null; if (!$id_lpwr) { echo "Произошла ошибка! Пожалуйста сообщите администратору сайта."; } else { $query = mysql_query("SELECT * FROM women WHERE ;", $db); $row = mysqli_fetch_assoc($query); $rating = $row['rating'] + 1; $query_lpw = mysql_query("UPDATE women SET rating = '$rating' WHERE "); if (!$query_lpw){ echo "Произошла ошибка Базы данных!"; } else { echo "Рейтинг обновлён!";} }

Источник

Вызвать ссылкой функцию php

To experiment on performance of pass-by-reference and pass-by-value, I used this script. Conclusions are below.

#!/usr/bin/php
function sum ( $array , $max ) < //For Reference, use: "&$array"
$sum = 0 ;
for ( $i = 0 ; $i < 2 ; $i ++)#$array[$i]++; //Uncomment this line to modify the array within the function.
$sum += $array [ $i ];
>
return ( $sum );
>

$max = 1E7 //10 M data points.
$data = range ( 0 , $max , 1 );

$start = microtime ( true );
for ( $x = 0 ; $x < 100 ; $x ++)$sum = sum ( $data , $max );
>
$end = microtime ( true );
echo «Time: » .( $end — $start ). » s\n» ;

/* Run times:
# PASS BY MODIFIED? Time
— ——- ——— —-
1 value no 56 us
2 reference no 58 us

3 valuue yes 129 s
4 reference yes 66 us

1. PHP is already smart about zero-copy / copy-on-write. A function call does NOT copy the data unless it needs to; the data is
only copied on write. That’s why #1 and #2 take similar times, whereas #3 takes 2 million times longer than #4.
[You never need to use &$array to ask the compiler to do a zero-copy optimisation; it can work that out for itself.]

2. You do use &$array to tell the compiler «it is OK for the function to over-write my argument in place, I don’t need the original
any more.» This can make a huge difference to performance when we have large amounts of memory to copy.
(This is the only way it is done in C, arrays are always passed as pointers)

3. The other use of & is as a way to specify where data should be *returned*. (e.g. as used by exec() ).
(This is a C-like way of passing pointers for outputs, whereas PHP functions normally return complex types, or multiple answers
in an array)

5. Sometimes, pass by reference could be at the choice of the caller, NOT the function definitition. PHP doesn’t allow it, but it
would be meaningful for the caller to decide to pass data in as a reference. i.e. «I’m done with the variable, it’s OK to stomp
on it in memory».
*/
?>

Источник

Читайте также:  Вопросы по программированию java
Оцените статью