Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 23:48   #1
Авторитет
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 74
По умолчанию PHP Как сделать несколько update на странице

Здравствуйте. Хочу создать блок социальных сетей на сайте. Так, чтобы при клике отправить в соц сеть, в БД записывалось число добавлений.
В итоге столкнулся с проблемо - при инициализации onclick происходит добавление не только в один столбец, но и в последующие. Если закрывать соединение, то ничего не происходит.
В PHP полный нуб, если подкоректируете код, буду премного благодарен

PHP код:
<?php 

function to_soc($fact$soc) {

switch (
$soc) {
            case 
'vkontakte':  
            {
               
mysql_query("UPDATE VK_Facts SET vkontakte = 1 + vkontakte where fact = '$fact'",$ConnectDB);
               }
        break;
        
            case 
'facebook' 
                
mysql_query("UPDATE VK_Facts SET facebook = 1 + facebook where fact = '$fact'",$ConnectDB);
        break;
        
            case 
'twitter' 
                
mysql_query("UPDATE VK_Facts SET twitter = 1 + twitter where fact = '$fact'",$ConnectDB);
        break;
        
            case 
'odnoklassniki' 
                
mysql_query("UPDATE VK_Facts SET odnoklassniki = 1 + odnoklassniki where fact = '$fact'",$ConnectDB);
        break;
        
            case 
'yandex' 
                
mysql_query("UPDATE VK_Facts SET yandex = 1 + yandex where fact = '$fact'",$ConnectDB);
        break;
        
            case 
'google' 
                
mysql_query("UPDATE VK_Facts SET google = 1 + google where fact = '$fact'",$ConnectDB);
        break;
        
            case 
'moimir' 
                
mysql_query("UPDATE VK_Facts SET moimir = 1 + moimir where fact = '$fact'",$ConnectDB);
        break;
        
        
    default:
    break;
}
mysql_close($ConnectDB);

}
?>
PHP код:
<?php

if (isset($_GET['text'])) {     
    
$text$_GET['text']; 
}

//добавить во все открытие шаред 
$site_url '';

include_once(
'php/connect_db.php');

$sql "SELECT * FROM VK_Facts WHERE fact = '$text'";
$res mysql_query($sql);

//Информация об количествах добавлений во всех соц сетях
$allrows mysql_fetch_array($res);

?>

<legend>Поделиться в соц. сетях</legend>
<ul>
    <li>
    <div onclick="<? include_once('sh_count.php'); to_soc($text'vkontakte'?>">
        <script type="text/javascript">
            document.write(VK.Share.button(
            {   
            url: '', 
            title: '<?php echo $text?>',
            description: '',
            image: '<?php echo $img?>',
            noparse:  true 
            }
            ,
            {type: 'custom', text: '<img src="Logos/vkontakte.png"/>'}));
        </script>
    </div>
    <p><?php echo $allrows[vkontakte]; ?></p>
    <!-- End Вконтакнуть</li> --></li>
    <li>
    <div onclick="<? include_once('sh_count.php'); to_soc($text'facebook'?>">
        <a ><img alt="Facebook" src="Logos/facebook.png" > </a></div>
    <p><?php echo $allrows[facebook];
    
?></p>
    </li>
    ...
...
...
</ul>
</fieldset>
Авторитет вне форума Ответить с цитированием
Старый 26.01.2012, 00:27   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
onclick="<? include_once('sh_count.php'); to_soc($text, 'vkontakte') ?>"
Это называется codebehind а-ля asp.net )))
Получается что прямо в этом месте при рендере страницы в указанное место пытается вставиться упомянутая страница, которая естественно ничего не выводит, но зато тут же выполняется функция to_soc.
В php вам нужно аяксом дернуть страницу с параметром того сервиса, который хотите вызвать например
Код:
onclick = " call_ajax ('sh_count.php?service=vk')  " // псевдокод, метод еще написать надо
А уже на самой странице sh_count.php (когда она дернется аяксом) выполнить to_soc($_GET['service'])
P.S. можно и без аякса .. просто данные отправить через какую-нить форму или сделать location.href = 'sh_count.php?service=vk', а потом с той страницы авторедирект куда-нить еще

Последний раз редактировалось Cronos20; 26.01.2012 в 00:30.
Cronos20 вне форума Ответить с цитированием
Старый 26.01.2012, 00:28   #3
Авторитет
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 74
По умолчанию

спасибо, буду разбираться
Авторитет вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прописать поиск на странице на PHP? МастерГуру PHP 1 27.10.2011 17:07
Как вывести php файл в главной странице html в Denwer? Denwer_у -ushёl- HTML и CSS 0 11.04.2010 16:11
PHP+MySQL. Как выполнить UPDATE таблицы? ViTYAi PHP 5 24.12.2009 10:03
открываю документ. ввожу дату и другие данные, как сделать чтобы на другой странице велась статистика по Аленка Microsoft Office Excel 5 12.02.2008 17:36