Znači vrlo jednostavno. Treba mi dugme, kada se klikne na njega da se izvrši ovaj querry:
INSERT INTO eio3k_hikers (link_id, link_name, user_id) SELECT link_id, link_name, user_id FROM eio3k_mt_links where eio3k_mt_links.link_id = (3)
Pokušao sam nekoliko načina, ali nikako ne radi. Kada querry pokrenem u phpmyadmin radi, ali vjerovatno pogrješim kad ga pišem u php.
$sql1 = mysqli_query($link, “SELECT link_id, link_name, user_id FROM eio3k_mt_links WHERE eio3k_mt_links.link_id=‘6’”) or die(mysqli_error($link));
$sql2 = mysqli_fetch_array($sql1) or die(mysqli_error($link));
mysqli_query($link, “INSERT INTO eio3k_hikers (link_id,link_name,user_id) VALUES (’” . $sql2[‘link_id’] . “’,’” . $sql2[‘link_name’] . “’,’” . $sql2[‘user_id’] . “’)”) or die(mysqli_error($link));
Ovako iz glave kad pisem ja mislim da je to to, ako bude kakav error javi pa da vidim u cemu je problem, ovaj $link ti je isti kao u drugom topicu sto sam ti napisao.
Probao sam i dešava se isto. Mislim da tako napisani querry ne rade u joomli. Evo svih detalja kako sam ja to uradio i šta se dešava:
Znači ovo je querry koji radi u my sql bez problema:
INSERT INTO eio3k_hikers (link_id, link_name, user_id) SELECT link_id, link_name, user_id FROM eio3k_mt_links where eio3k_mt_links.link_id = (3)
Kopira 3 kolone iz jedne tabele u drugu sa uslovom da je u drugoj link_id=3. Querry treba da se izvrši kad se klikne na dugme:
//Kreiranje dugmeta
<html>
<form action='' method='POST'>
<input type='submit' name='submit' />
</form>
</html>
<?php
// Konekcija na joomla bazu
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}
require_once JPATH_BASE.'/includes/framework.php';
// Get a db connection. i početak querry-ja kad se klikne na dugme
$db = JFactory::getDbo();
if(isset($_POST['submit'])){
// My query
$querySelect = $db->getQuery(true);
$querySelect->select('link_id, link_name, user_id');
$querySelect->from($db->quoteName('#__mt_links'));
$querySelect->where($db->quoteName('#__mt_links.link_id')." = ".$db->quote(3));
$queryInsert = $db->getQuery(true);
$queryInsert->insert($db->quoteName('#__hikers'));
$queryInsert->columns($db->quoteName(array('link_id, link_name, user_id')));
$queryInsert->values($querySelect);
$db->setQuery($queryInsert);
}
?>
Znači kad se klikne na dugme, querry se izvrši ali se ne kopira sadržaj iz tabele u tabelu. Mislim da sam negdje napravio propust u prebacivanju querryja u joomla php. Pokušao sam na kraju dodati:
$db->setQuery($queryInsert)->execute();
Poslije ovoga, kad kliknem na dugme dobijem error:
1136 Column count doesn’t match value count at row 1 although they are the same columns in both tables.
Problem je rješen. Greška je bila u select-u, jer je i select trebalo raditi kao niz. $querySelect->select($db->qn(array('link_id', 'link_name', 'user_id')));
Hvala u svakom slučaju.