Dugme sa mysql querry-jem

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.

Hvala unaprijed

Kako si odradio php?

$querySelect = $db->getQuery(true)
->select(‘link_id, link_name, user_id’)
->from(‘eio3k_mt_links’)
->where(‘eio3k_mt_links.link_id = 6’);
$queryInsert = $db->getQuery(true)
->insert(‘eio3k_hikers’)
->columns($db->qn(array(‘link_id, link_name, user_id’)))
->values($querySelect);
$db->setQuery($queryInsert);

Bit cu za pcem za nekih sat vremena pa ti napisem php kod kako bi ja to odradio

Hvala puno. Ja se inače ne bavim programiranjem, nego koristim google kao resurs. Očito mi to nekada nije dovoljno :slight_smile:

$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.

Parse error: syntax error, unexpected ‘link_id’ (T_STRING) in /home…

zamjeni prvu linijom sa ovim

$sql1 = mysqli_query($link, “SELECT * FROM eio3k_mt_links WHERE eio3k_mt_links.link_id=‘6’”) or die(mysqli_error($link));

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.