Zinu, ka starp tiem mainīgo vērtības nevar nosūtīt, bet varbūt tomēr ir kāda izeja?
Ir man datubāze, kur vienā tabulā ir User_id, bet citā tabulā User_name.
Ir forma, kur lietojs ievada User_name un vēl visu citu privātziņas nosūtīšanai citam jūzerim. Pēc User_name ievadīšanas vajag izsaukt skriptu, kas atrod attiecīgi User_id no datubāzes:
echo "<input type='hidden' name='user_id' />";
echo "<input type='text' onchange='java script:userIDpieskirt(".atrastid(te vajag nosūtīt user_name vērtību ).");' name='user_name' />";
Pirms tam ir izveidotas funkacijas:
echo "<script language=\"javascript\">\n";
echo "<!--\n";
echo "function userIDpieskirt(r_uid) {\n";
echo "document.coolsus.user_id.value = r_uid;\n";
echo "}\n";
echo "-->\n";
echo "</script>\n";
function atrastid($lietotaja_vards)
{
$xoopsDB =& Database::getInstance();
$resultats = $xoopsDB->query("SELECT uid FROM ".$xoopsDB->prefix("users")." WHERE uname = '". userIDnoteikt() ."'");
$rinda = ($xoopsDB->fetchRow($resultats));
$rinda2=$rinda[0];
settype ($rinda2, string);
return $rinda2;
}
Mēģināju 2 variantus: 1) funkcijai "atrastid" nodot vērtību $lietotaja_vards. Tas nestrādā, jo nevar nodot vērtību ar php kamēr, nav izpildīts submit.
2) select komantā WHERE= norādīt Javascript funkciju userIDnoteikt. Tas nestrādā, jo nevar nekādi iegūt Javascripta atgriezto vērtību.
Rezultātā sēžu jau 3. dienu pie dažām rindiņām. ;((